Method: VagrantPlugins::Openstack::ConfigResolver#resolve_networks

Defined in:
lib/vagrant-openstack-provider/config_resolver.rb

#resolve_networks(env) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/vagrant-openstack-provider/config_resolver.rb', line 64

def resolve_networks(env)
  @logger.info 'Resolving network(s)'
  config = env[:machine].provider_config
  return [] if config.networks.nil? || config.networks.empty?
  env[:ui].info(I18n.t('vagrant_openstack.finding_networks'))
  return resolve_networks_without_network_service(env) unless env[:openstack_client].session.endpoints.key? :network

  all_networks = env[:openstack_client].neutron.get_all_networks(env)
  all_network_ids = all_networks.map(&:id)

  networks = []
  config.networks.each do |network|
    networks << resolve_network(network, all_networks, all_network_ids)
  end
  @logger.debug("Resolved networks : #{networks.to_json}")
  networks
end