40 lines
1.3 KiB
Puppet
40 lines
1.3 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,
|
|
}
|