Module: Chef::Knife::Cloud::OpenstackHelpers

Instance Method Summary collapse

Instance Method Details

#create_service_instanceObject



36
37
38
# File 'lib/chef/knife/openstack_helpers.rb', line 36

def create_service_instance
  OpenstackService.new(config: config)
end

#instance_addresses(addresses) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/chef/knife/openstack_helpers.rb', line 44

def instance_addresses(addresses)
  info = []
  if addresses[addresses.keys[0]] && addresses[addresses.keys[0]].size > 0
    ips = addresses[addresses.keys[0]]
    ips.each do |ip|
      version = "IPv6" if ip["version"] == 6
      version = "IPv4" if ip["version"] == 4
      info << "#{addresses.keys[0]}:#{version}: #{ip["addr"]}"
    end
  end
  info.join(" ")
end

#primary_network_ip_address(addresses, network_name) ⇒ Object



32
33
34
# File 'lib/chef/knife/openstack_helpers.rb', line 32

def primary_network_ip_address(addresses, network_name)
  addresses[network_name].last["addr"] if addresses[network_name] && !addresses[network_name].empty?
end

#primary_private_ip_address(addresses) ⇒ Object



24
25
26
# File 'lib/chef/knife/openstack_helpers.rb', line 24

def primary_private_ip_address(addresses)
  primary_network_ip_address(addresses, "private")
end

#primary_public_ip_address(addresses) ⇒ Object



28
29
30
# File 'lib/chef/knife/openstack_helpers.rb', line 28

def primary_public_ip_address(addresses)
  primary_network_ip_address(addresses, "public")
end

#validate!Object



40
41
42
# File 'lib/chef/knife/openstack_helpers.rb', line 40

def validate!
  super(:openstack_username, :openstack_password, :openstack_auth_url)
end