93 lines
3.1 KiB
Puppet
93 lines
3.1 KiB
Puppet
# Extract data from hiera
|
|
$access_data = hiera_hash('access')
|
|
$keystone_admin_tenant = $access_data['tenant']
|
|
$network_metadata = hiera_hash('network_metadata')
|
|
$node_roles = $network_metadata['nodes'][$::hostname]['node_roles']
|
|
$neutron_settings = hiera('quantum_settings')
|
|
$nets = $neutron_settings['predefined_networks']
|
|
$segment_id = $nets['net04']['L2']['segment_id']
|
|
$vm_net_l3 = $nets['net04']['L3']
|
|
|
|
# Plugin settings data
|
|
$midonet_settings = hiera_hash('midonet-fuel-plugin')
|
|
$tz_type = $midonet_settings['tunnel_type']
|
|
$range_start = $midonet_settings['floating_ip_range_start']
|
|
$range_end = $midonet_settings['floating_ip_range_end']
|
|
|
|
$vm_net = { shared => false,
|
|
"L2" => { network_type => $tz_type,
|
|
router_ext => false,
|
|
physnet => false,
|
|
segment_id => $segment_id,
|
|
},
|
|
"L3" => $vm_net_l3,
|
|
tenant => 'admin'
|
|
}
|
|
|
|
$allocation_pools = "start=$range_start,end=$range_end"
|
|
|
|
service { 'neutron-server':
|
|
ensure => running,
|
|
}
|
|
|
|
if member($node_roles, 'primary-controller') {
|
|
exec {'refresh-dhcp-agent':
|
|
command => 'crm resource start p_neutron-dhcp-agent',
|
|
path => '/usr/bin:/usr/sbin',
|
|
tries => 3,
|
|
try_sleep => 10,
|
|
} ->
|
|
exec {'refresh-metadata-agent':
|
|
command => 'crm resource start p_neutron-metadata-agent',
|
|
path => '/usr/bin:/usr/sbin',
|
|
tries => 3,
|
|
try_sleep => 10,
|
|
} ->
|
|
|
|
neutron_network { 'net04':
|
|
ensure => present,
|
|
router_external => $nets['net04']['L2']['router_ext'],
|
|
tenant_name => $nets['net04']['tenant'],
|
|
shared => $nets['net04']['shared']
|
|
} ->
|
|
|
|
neutron_subnet { "net04__subnet":
|
|
ensure => present,
|
|
cidr => $nets['net04']['L3']['subnet'],
|
|
network_name => 'net04',
|
|
tenant_name => $nets['net04']['tenant'],
|
|
gateway_ip => $nets['net04']['L3']['gateway'],
|
|
enable_dhcp => $nets['net04']['L3']['enable_dhcp'],
|
|
dns_nameservers => $nets['net04']['L3']['nameservers']
|
|
} ->
|
|
|
|
neutron_network { 'net04_ext':
|
|
ensure => present,
|
|
router_external => $nets['net04_ext']['L2']['router_ext'],
|
|
tenant_name => $nets['net04_ext']['tenant'],
|
|
shared => $nets['net04_ext']['shared']
|
|
} ->
|
|
|
|
neutron_subnet { "net04_ext__subnet":
|
|
ensure => present,
|
|
cidr => $midonet_settings['floating_cidr'],
|
|
network_name => 'net04_ext',
|
|
tenant_name => $nets['net04_ext']['tenant'],
|
|
gateway_ip => $midonet_settings['gateway'],
|
|
enable_dhcp => $nets['net04_ext']['L3']['enable_dhcp'],
|
|
dns_nameservers => $nets['net04_ext']['L3']['nameservers'],
|
|
allocation_pools => $allocation_pools
|
|
} ->
|
|
|
|
neutron_router { 'router04':
|
|
ensure => present,
|
|
tenant_name => $nets['net04_ext']['tenant'],
|
|
gateway_network_name => 'net04_ext',
|
|
} ->
|
|
|
|
neutron_router_interface { "router04:net04__subnet":
|
|
ensure => present,
|
|
}
|
|
|
|
}
|