fuel-plugin-calico/deployment_scripts/puppet/manifests/neutron_networks.pp

40 lines
1.4 KiB
Puppet

notice('MODULAR: calico/neutron_networks.pp')
#include calico
# Initial constants
$plugin_name = 'fuel-plugin-calico'
$plugin_settings = hiera_hash("${plugin_name}", {})
$access_hash = hiera_hash('access', {})
$tenant_name = try_get_value($access_hash, 'tenant', 'admin')
# From docs:
# neutron net-create --shared --provider:network_type local calico
# neutron subnet-create --gateway 10.65.0.1 --enable-dhcp --ip-version 4 --name calico-v4 calico 10.65.0/24
$net = 'calico'
$subnet = 'calico-v4'
$neutron_config = hiera_hash('neutron_config')
$private_net_name = try_get_value($neutron_config, 'default_private_net', 'admin_internal_net')
$neutron_networks = try_get_value($neutron_config, 'predefined_networks', {})
$private_net = try_get_value($neutron_networks, $private_net_name, {'L3'=>{}})
$subnet_cidr = pick($private_net['L3']['subnet'], '10.20.0.0/16')
$subnet_gw = pick($private_net['L3']['gateway'], '10.20.0.1')
neutron_network { $net :
ensure => 'present',
provider_network_type => 'local',
shared => true,
tenant_name => $tenant_name,
} ->
neutron_subnet { $subnet :
ensure => 'present',
cidr => $subnet_cidr,
network_name => $net,
gateway_ip => $subnet_gw,
enable_dhcp => true,
ip_version => '4',
tenant_name => $tenant_name,
}