diff --git a/manifests/profile/neutron/router.pp b/manifests/profile/neutron/router.pp index 936620c1c9561541aeb941a67a36a5c00df5c135..1fc3245df103164f7de7092ce00c40a432ca3877 100644 --- a/manifests/profile/neutron/router.pp +++ b/manifests/profile/neutron/router.pp @@ -149,14 +149,15 @@ notify { "br-ex2: $::brex2_eval": network => 'default', require => Package['ifupdown-extra'] } - } -> + } + # Set loopback interface network_config { 'lo': ensure => 'present', family => 'inet', method => 'loopback', onboot => 'true', - } -> + } # if $_external_device1 != 'br_ex1' { @@ -169,30 +170,28 @@ notify { "br-ex2: $::brex2_eval": $public_netmask1 = $::facts["netmask_${external_device1}"] $public_macaddr1 = $::facts["macaddress_${external_device1}"] - network_config { $external_device1: - ensure => 'present', - family => 'inet', - method => 'manual', - options => { - 'up' => "ifconfig ${external_device1} 0.0.0.0 promisc up", - 'down' => "ifconfig ${external_device1} promisc down", - }, - } -> if $public_ipaddress1 { + network_config { $external_device1: + ensure => 'present', + family => 'inet', + method => 'manual', + options => { + 'up' => "ifconfig ${external_device1} 0.0.0.0 promisc up", + 'down' => "ifconfig ${external_device1} promisc down", + }, + } -> network_config { 'br-ex1': ensure => 'present', family => 'inet', method => 'static', ipaddress => $public_ipaddress1, netmask => $public_netmask1, - } - } -> - vs_port { $external_device1: - ensure => present, - bridge => 'br-ex1', - require => Class['::neutron::agents::ml2::ovs'], - } -> - if $public_ipaddress1 { + } -> + vs_port { $external_device1: + ensure => present, + bridge => 'br-ex1', + require => Class['::neutron::agents::ml2::ovs'], + } -> network_route { 'route_ext1': ensure => 'present', gateway => $external_gateway1, @@ -200,13 +199,11 @@ notify { "br-ex2: $::brex2_eval": netmask => '0.0.0.0', network => $external_network1, require => Package['ifupdown-extra'] - } - } -> - exec { "set_br-ex1_hwaddr": - command => "ovs-vsctl set bridge br-ex1 other-config:hwaddr=$public_macaddr1", - path => "/usr/local/bin/:/bin/:/usr/bin:/sbin/:/usr/sbin/", - } -> - if $public_ipaddress1 { + } -> + exec { "set_br-ex1_hwaddr": + command => "ovs-vsctl set bridge br-ex1 other-config:hwaddr=$public_macaddr1", + path => "/usr/local/bin/:/bin/:/usr/bin:/sbin/:/usr/sbin/", + } -> exec { "restart_external1": command => "ifconfig $external_device1 0.0.0.0 promisc", path => "/usr/local/bin/:/bin/:/sbin/:/usr/sbin/", @@ -215,6 +212,25 @@ notify { "br-ex2: $::brex2_eval": command => "ifdown br-ex1 && ifup br-ex1", path => "/usr/local/bin/:/bin/:/sbin/:/usr/sbin/", } + } else + network_config { $external_device1: + ensure => 'present', + family => 'inet', + method => 'manual', + options => { + 'up' => "ifconfig ${external_device1} 0.0.0.0 promisc up", + 'down' => "ifconfig ${external_device1} promisc down", + }, + } -> + vs_port { $external_device1: + ensure => present, + bridge => 'br-ex1', + require => Class['::neutron::agents::ml2::ovs'], + } -> + exec { "set_br-ex1_hwaddr": + command => "ovs-vsctl set bridge br-ex1 other-config:hwaddr=$public_macaddr1", + path => "/usr/local/bin/:/bin/:/usr/bin:/sbin/:/usr/sbin/", + } } } @@ -234,30 +250,28 @@ notify { "br-ex2: $::brex2_eval": $public_netmask2 = $::facts["netmask_${external_device2}"] $public_macaddr2 = $::facts["macaddress_${external_device2}"] - network_config { $external_device2: - ensure => 'present', - family => 'inet', - method => 'manual', - options => { - 'up' => "ifconfig ${external_device2} 0.0.0.0 promisc up", - 'down' => "ifconfig ${external_device2} promisc down", - }, - } -> if $public_ipaddress2 { + network_config { $external_device2: + ensure => 'present', + family => 'inet', + method => 'manual', + options => { + 'up' => "ifconfig ${external_device2} 0.0.0.0 promisc up", + 'down' => "ifconfig ${external_device2} promisc down", + }, + } -> network_config { 'br-ex2': ensure => 'present', family => 'inet', method => 'static', ipaddress => $public_ipaddress2, netmask => $public_netmask2, - } - } -> - vs_port { $external_device2: - ensure => present, - bridge => 'br-ex2', - require => Class['::neutron::agents::ml2::ovs'], - } -> - if $public_ipaddress2 { + } -> + vs_port { $external_device2: + ensure => present, + bridge => 'br-ex2', + require => Class['::neutron::agents::ml2::ovs'], + } -> network_route { 'route_ext2': ensure => 'present', gateway => $external_gateway2, @@ -265,13 +279,11 @@ notify { "br-ex2: $::brex2_eval": netmask => '0.0.0.0', network => $external_network2, require => Package['ifupdown-extra'] - } - } -> - exec { "set_br-ex2_hwaddr": - command => "ovs-vsctl set bridge br-ex2 other-config:hwaddr=$public_macaddr2", - path => "/usr/local/bin/:/bin/:/usr/bin:/sbin/:/usr/sbin/", - } -> - if $public_ipaddress2 { + } -> + exec { "set_br-ex2_hwaddr": + command => "ovs-vsctl set bridge br-ex2 other-config:hwaddr=$public_macaddr2", + path => "/usr/local/bin/:/bin/:/usr/bin:/sbin/:/usr/sbin/", + } -> exec { "restart_external2": command => "ifconfig $external_device2 promisc", path => "/usr/local/bin/:/bin/:/sbin/:/usr/sbin/", @@ -280,6 +292,25 @@ notify { "br-ex2: $::brex2_eval": command => "ifdown br-ex2 && ifup br-ex2", path => "/usr/local/bin/:/bin/:/sbin/:/usr/sbin/", } + } else { + network_config { $external_device2: + ensure => 'present', + family => 'inet', + method => 'manual', + options => { + 'up' => "ifconfig ${external_device2} 0.0.0.0 promisc up", + 'down' => "ifconfig ${external_device2} promisc down", + }, + } -> + vs_port { $external_device2: + ensure => present, + bridge => 'br-ex2', + require => Class['::neutron::agents::ml2::ovs'], + } -> + exec { "set_br-ex2_hwaddr": + command => "ovs-vsctl set bridge br-ex2 other-config:hwaddr=$public_macaddr2", + path => "/usr/local/bin/:/bin/:/usr/bin:/sbin/:/usr/sbin/", + } } } }