Class: Pec::Compute::Server
- Inherits:
-
Object
- Object
- Pec::Compute::Server
show all
- Includes:
- Query
- Defined in:
- lib/pec/compute/server.rb
Instance Method Summary
collapse
Methods included from Query
#fetch, #get_adapter, #get_ref, #list
Instance Method Details
#create(name, image_ref, flavor_ref, ports, options) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/pec/compute/server.rb', line 6
def create(name, image_ref, flavor_ref, ports, options)
networks = ports.map do |port|
raise(Pec::Errors::Port, "port-id:#{port.id} ip-addr:#{port.ip_address} in used") if port.used?
puts "#{name}: assingn ip #{port.ip_address}"
{ port_id: port.id }
end if ports
options.merge!({ 'nics' => networks })
response = Fog::Compute[:openstack].create_server(name, image_ref, flavor_ref, options)
if response[:status] == 202
puts "success create for server_name:#{name}"
end
response.data[:body]["server"]["id"]
end
|
#destroy!(server_name) ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/pec/compute/server.rb', line 28
def destroy!(server_name)
server = fetch(server_name)
raise(Pec::Errors::Host, "server_name:#{server_name} is not fond!") unless server
response = Fog::Compute[:openstack].delete_server(server["id"]) if server
if response && response[:status] == 204
puts "server_name:#{server_name} is deleted!"
end
end
|
#exists?(server_name) ⇒ Boolean
24
25
26
|
# File 'lib/pec/compute/server.rb', line 24
def exists?(server_name)
fetch(server_name)
end
|