From f7a499a660fcdfb89e0a791b01686afc9e801661 Mon Sep 17 00:00:00 2001 From: Florian Haas Date: Wed, 16 Oct 2013 21:10:35 +0200 Subject: [PATCH] Neutron: Ensure that L3 agent is configured before L2 agent on network node Strangely, the L2 agent relies on the availability of bridge_uplinks. The corresponding bridges are only created by the L3 agent. Hence, on the network node only, make sure we have L3 set up before we tackle L2. --- manifests/neutron/agent/l2/network.pp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/manifests/neutron/agent/l2/network.pp b/manifests/neutron/agent/l2/network.pp index 66dbc58..31fd4f0 100644 --- a/manifests/neutron/agent/l2/network.pp +++ b/manifests/neutron/agent/l2/network.pp @@ -14,7 +14,9 @@ class kickstack::neutron::agent::l2::network inherits kickstack { # The neutron module creates bridge_uplinks only when # bridge_mappings is non-empty. That's bogus for GRE # configurations, so create the uplink anyway. - ::neutron::plugins::ovs::port { "$bridge_uplinks": } + ::neutron::plugins::ovs::port { "$bridge_uplinks": + require => Class['kickstack::neutron::agent::l3'], + } class { 'neutron::agents::ovs': bridge_mappings => [], bridge_uplinks => [], @@ -22,7 +24,7 @@ class kickstack::neutron::agent::l2::network inherits kickstack { enable_tunneling => true, local_ip => $local_tunnel_ip, tunnel_bridge => $::kickstack::neutron_tunnel_bridge, - require => Neutron::Plugins::Ovs::Port["$bridge_uplinks"] + require => Neutron::Plugins::Ovs::Port["$bridge_uplinks"], package_ensure => $::kickstack::package_version, } }