Class: VagrantPlugins::Cloudstack::Action::ReadTransportInfo
- Inherits:
-
Object
- Object
- VagrantPlugins::Cloudstack::Action::ReadTransportInfo
show all
- Defined in:
- lib/vagrant-cloudstack/action/read_transport_info.rb
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ReadTransportInfo.
5
6
7
|
# File 'lib/vagrant-cloudstack/action/read_transport_info.rb', line 5
def initialize
@public_port_fieldname = 'pf_public_port'
end
|
Instance Method Details
#find_server(cloudstack, machine) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/vagrant-cloudstack/action/read_transport_info.rb', line 42
def find_server(cloudstack, machine)
return nil if machine.id.nil?
server = cloudstack.servers.get(machine.id)
if server.nil? || [:"shutting-down", :terminated].include?(server.state.downcase.to_sym)
@logger.info("Machine couldn't be found, assuming it got destroyed.")
machine.id = nil
return nil
end
server
end
|
#retrieve_public_ip_port(cloudstack, domain_config, machine) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/vagrant-cloudstack/action/read_transport_info.rb', line 9
def retrieve_public_ip_port(cloudstack, domain_config, machine)
pf_ip_address_id = domain_config.pf_ip_address_id
pf_ip_address = domain_config.pf_ip_address
pf_public_port = domain_config.send(@public_port_fieldname)
if pf_public_port.nil?
pf_public_port_file = machine.data_dir.join(@public_port_fieldname)
if pf_public_port_file.file?
File.read(pf_public_port_file).each_line do |line|
pf_public_port = line.strip
end
domain_config.send("#{@public_port_fieldname}=", pf_public_port)
end
end
if not pf_ip_address and pf_ip_address_id and pf_public_port
begin
response = cloudstack.list_public_ip_addresses({:id => pf_ip_address_id})
rescue Fog::Compute::Cloudstack::Error => e
raise Errors::FogError, :message => e.message
end
if (response['listpublicipaddressesresponse']['count']).zero?
@logger.info("IP address #{pf_ip_address_id} not exists.")
env[:ui].info(I18n.t("IP address #{pf_ip_address_id} not exists."))
pf_ip_address = nil
else
pf_ip_address = response['listpublicipaddressesresponse']['publicipaddress'][0]['ipaddress']
end
end
return pf_ip_address, pf_public_port
end
|