diff --git a/packstack/plugins/neutron_350.py b/packstack/plugins/neutron_350.py index 0d526f8aa..ea766c377 100644 --- a/packstack/plugins/neutron_350.py +++ b/packstack/plugins/neutron_350.py @@ -784,6 +784,10 @@ def create_l2_agent_manifests(config, messages): for host in network_hosts | compute_hosts: manifestfile = "%s_neutron.pp" % (host,) manifestdata = "$cfg_neutron_ovs_host = '%s'\n" % host + if host in network_hosts: + manifestdata += "$create_bridges = true\n" + else: + manifestdata += "$create_bridges = false\n" # neutron ovs port only on network hosts if ( agent == "openvswitch" and ( diff --git a/packstack/puppet/templates/neutron_ovs_agent.pp b/packstack/puppet/templates/neutron_ovs_agent.pp index 67e40f800..ac69a4baa 100644 --- a/packstack/puppet/templates/neutron_ovs_agent.pp +++ b/packstack/puppet/templates/neutron_ovs_agent.pp @@ -13,9 +13,17 @@ if $ovs_agent_vxlan_cfg_neut_ovs_tun_if != '' { $localip = $cfg_neutron_ovs_host } +if $create_bridges { + $bridge_uplinks = hiera_array('CONFIG_NEUTRON_OVS_BRIDGE_IFACES') + $bridge_mappings = hiera_array('CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS') +} else { + $bridge_uplinks = [] + $bridge_mappings = [] +} + class { '::neutron::agents::ml2::ovs': - bridge_uplinks => hiera_array('CONFIG_NEUTRON_OVS_BRIDGE_IFACES'), - bridge_mappings => hiera_array('CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS'), + bridge_uplinks => $bridge_uplinks, + bridge_mappings => $bridge_mappings, enable_tunneling => hiera('CONFIG_NEUTRON_OVS_TUNNELING'), tunnel_types => hiera_array('CONFIG_NEUTRON_OVS_TUNNEL_TYPES'), local_ip => force_ip($localip),