From 24396519204e2531635174b1cad63dab82c4c056 Mon Sep 17 00:00:00 2001 From: Alessandro Costantini <alessandro.costantini@cnaf.infn.it> Date: Mon, 16 Nov 2015 06:29:21 +0000 Subject: [PATCH] Multiple external network implementation --- examples/hieradata/common.yaml | 13 ++++---- manifests/setup/router.pp | 4 +-- manifests/setup/sharednetwork.pp | 55 ++++++++++++++++++++------------ 3 files changed, 44 insertions(+), 28 deletions(-) diff --git a/examples/hieradata/common.yaml b/examples/hieradata/common.yaml index a6610a6..c003e1f 100644 --- a/examples/hieradata/common.yaml +++ b/examples/hieradata/common.yaml @@ -116,7 +116,6 @@ iaas::profile::nova::compute::libvirt_type: qemu #Common iaas::profile::neutron::password: neutron iaas::profile::neutron::secret: neutron -iaas::profile::neutron::network_neutron_private: 10.0.1.0/24 iaas::profile::neutron::router::mtu: 1445 iaas::profile::neutron::common::core_plugin: 'ml2' iaas::profile::neutron::common::service_plugins: @@ -131,12 +130,14 @@ iaas::profile::neutron::external_network1: 10.10.98.0/24 iaas::profile::neutron::external_gateway1: 10.10.98.1 iaas::profile::neutron::network_external1_ippool_start: 10.10.98.121 iaas::profile::neutron::network_external1_ippool_end: 10.10.98.125 +iaas::profile::neutron::network_neutron_private1: 10.0.1.0/24 #External Network 2, enable if needed -iaas::profile::neutron::router::external_device2: eth1 -iaas::profile::neutron::external_network2: 131.154.100.0/24 -iaas::profile::neutron::external_gateway2: 131.154.100.1 -iaas::profile::neutron::network_external2_ippool_start: 131.154.100.81 -iaas::profile::neutron::network_external2_ippool_end: 131.154.100.83 +#iaas::profile::neutron::router::external_device2: eth1 +#iaas::profile::neutron::external_network2: 10.10.96.0/24 +#iaas::profile::neutron::external_gateway2: 10.10.96.1 +#iaas::profile::neutron::network_external2_ippool_start: 10.10.96.121 +#iaas::profile::neutron::network_external2_ippool_end: 10.10.96.125 +#iaas::profile::neutron::network_neutron_private2: 10.0.2.0/24 # Heat diff --git a/manifests/setup/router.pp b/manifests/setup/router.pp index b306235..fbe31d4 100644 --- a/manifests/setup/router.pp +++ b/manifests/setup/router.pp @@ -12,8 +12,8 @@ define iaas::setup::router { neutron_router { $tenant: tenant_name => $tenant, - gateway_network_name => 'public', - require => [Neutron_network['public'], Neutron_subnet[$subnet]] + gateway_network_name => 'public1', + require => [Neutron_network['public1'], Neutron_subnet[$subnet]] } -> neutron_router_interface { $title: diff --git a/manifests/setup/sharednetwork.pp b/manifests/setup/sharednetwork.pp index 676a692..55540b7 100644 --- a/manifests/setup/sharednetwork.pp +++ b/manifests/setup/sharednetwork.pp @@ -17,7 +17,8 @@ class iaas::setup::sharednetwork ( $start_ip2 = hiera('iaas::profile::neutron::network_external2_ippool_start', undef), $end_ip2 = hiera('iaas::profile::neutron::network_external2_ippool_end', undef), $dns = hiera('iaas::profile::base::dns_servers', undef), - $private_network = hiera('iaas::profile::neutron::network_neutron_private', undef), + $private_network1 = hiera('iaas::profile::neutron::network_neutron_private1', undef), + $private_network2 = hiera('iaas::profile::neutron::network_neutron_private2', undef), ) { $ip_range1 = "start=${start_ip1},end=${end_ip1}" @@ -30,7 +31,6 @@ $ip_range2 = "start=${start_ip2},end=${end_ip2}" provider_physical_network => 'physnet1', shared => false, } -> - neutron_subnet { $external_network1: cidr => $external_network1, ip_version => '4', @@ -40,10 +40,23 @@ $ip_range2 = "start=${start_ip2},end=${end_ip2}" tenant_name => 'admin', allocation_pools => [$ip_range1], dns_nameservers => [$dns], + } -> + neutron_network { 'private1': + tenant_name => 'test', + provider_network_type => 'gre', + router_external => false, + shared => false, + } -> + neutron_subnet { $private_network1: + cidr => $private_network1, + ip_version => '4', + enable_dhcp => true, + network_name => 'private1', + tenant_name => 'test', + dns_nameservers => [$dns], } if $external_network2 { - neutron_network { 'public2': tenant_name => 'admin', provider_network_type => 'flat', @@ -60,25 +73,27 @@ $ip_range2 = "start=${start_ip2},end=${end_ip2}" tenant_name => 'admin', allocation_pools => [$ip_range2], dns_nameservers => [$dns], + } -> + neutron_network { 'private2': + tenant_name => 'test', + provider_network_type => 'gre', + router_external => false, + shared => false, + } -> + neutron_subnet { $private_network2: + cidr => $private_network2, + ip_version => '4', + enable_dhcp => true, + network_name => 'private2', + tenant_name => 'test', + dns_nameservers => [$dns], } } - neutron_network { 'private': - tenant_name => 'test', - provider_network_type => 'gre', - router_external => false, - shared => false, - } -> - - neutron_subnet { $private_network: - cidr => $private_network, - ip_version => '4', - enable_dhcp => true, - network_name => 'private', - tenant_name => 'test', - dns_nameservers => [$dns], - } - # router setup for the tenant test -# iaas::setup::router { "test:${private_network}": } +# iaas::setup::router { "test:${private_network1}": } +# if $external_network2 { +# iaas::setup::router { "test:${private_network2}": } +# } + } -- GitLab