neutron: don't set external_network_bridge option by default
authorIhar Hrachyshka <ihrachys@redhat.com>
Tue, 6 Dec 2016 22:24:30 +0000 (22:24 +0000)
committerEmilien Macchi <emilien@redhat.com>
Thu, 23 Feb 2017 14:46:39 +0000 (14:46 +0000)
It's deprecated, to be removed in Ocata, and it's discouraged to set it
to anything but the default value ('') that means that routers are not
plugged directly into br-ex, but allows l2 agent to do the wiring.

There are known issues with setting it to br-ex (like wrong port
statuses): If533cf7c4c379be78f5a15073accaff7f65973ab

The only caveat to setting it to the default ('') value is that in that
case l2 agent should be configured with bridge mapping for physical
networks. Since we already configure bridge_mappings for the agent, we
should be safe to unset the option.

Now that it's the default, there is no reason to override it in example
environments.

This patch also changes the description for the parameter to make it
more clear that users are not expected to set it unless they know what
they are doing. Also, moved the parameter into deprecated section to
make it even more clear it's not something to touch in new deployments.

Change-Id: Iade7fbaf92c8c601227f4456a15ea3f13a907ee2
Related-Bug: #1563070
(cherry picked from commit 21d2afd4bf9f57fd0fb3709d87acb452f13912df)

environments/net-bond-with-vlans-no-external.yaml
environments/net-bond-with-vlans-v6.yaml
environments/net-bond-with-vlans.yaml
environments/net-single-nic-linux-bridge-with-vlans.yaml
environments/net-single-nic-with-vlans-no-external.yaml
environments/net-single-nic-with-vlans-v6.yaml
environments/net-single-nic-with-vlans.yaml
environments/network-environment.yaml
puppet/services/neutron-l3-compute-dvr.yaml
puppet/services/neutron-l3.yaml

index 75959a0..cc27d4f 100644 (file)
@@ -20,7 +20,3 @@ resource_registry:
   OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller-no-external.yaml
   OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/swift-storage.yaml
   OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/ceph-storage.yaml
-
-# NOTE: with no external interface we should be able to use the
-# default Neutron l3_agent.ini setting for the external bridge (br-ex)
-# i.e. No need to set:  NeutronExternalNetworkBridge: "''"
index 73dda3d..dc6fdfe 100644 (file)
@@ -12,9 +12,3 @@ resource_registry:
   OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller-v6.yaml
   OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/swift-storage.yaml
   OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/ceph-storage.yaml
-
-parameter_defaults:
-  # This sets 'external_network_bridge' in l3_agent.ini to an empty string
-  # so that external networks act like provider bridge networks (they
-  # will plug into br-int instead of br-ex)
-  NeutronExternalNetworkBridge: "''"
index de8f8f7..38c31ca 100644 (file)
@@ -11,9 +11,3 @@ resource_registry:
   OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller.yaml
   OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/swift-storage.yaml
   OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/ceph-storage.yaml
-
-parameter_defaults:
-  # This sets 'external_network_bridge' in l3_agent.ini to an empty string
-  # so that external networks act like provider bridge networks (they
-  # will plug into br-int instead of br-ex)
-  NeutronExternalNetworkBridge: "''"
index fd80bb9..f34cfb9 100644 (file)
@@ -11,9 +11,3 @@ resource_registry:
     OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/controller.yaml
     OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
     OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
-
-parameter_defaults:
-  # This sets 'external_network_bridge' in l3_agent.ini to an empty string
-  # so that external networks act like provider bridge networks (they
-  # will plug into br-int instead of br-ex)
-  NeutronExternalNetworkBridge: "''"
index c7594b3..65d3813 100644 (file)
@@ -19,7 +19,3 @@ resource_registry:
   OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller-no-external.yaml
   OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml
   OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml
-
-# NOTE: with no external interface we should be able to use the
-# default Neutron l3_agent.ini setting for the external bridge (br-ex)
-# i.e. No need to set:  NeutronExternalNetworkBridge: "''"
index 8210bad..966e5fe 100644 (file)
@@ -11,9 +11,3 @@ resource_registry:
   OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller-v6.yaml
   OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml
   OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml
-
-parameter_defaults:
-  # This sets 'external_network_bridge' in l3_agent.ini to an empty string
-  # so that external networks act like provider bridge networks (they
-  # will plug into br-int instead of br-ex)
-  NeutronExternalNetworkBridge: "''"
index a61bc6e..b087b3e 100644 (file)
@@ -11,9 +11,3 @@ resource_registry:
   OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller.yaml
   OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml
   OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml
-
-parameter_defaults:
-  # This sets 'external_network_bridge' in l3_agent.ini to an empty string
-  # so that external networks act like provider bridge networks (they
-  # will plug into br-int instead of br-ex)
-  NeutronExternalNetworkBridge: "''"
index 796eb80..210b6b0 100644 (file)
@@ -48,8 +48,6 @@ parameter_defaults:
   # ManagementInterfaceDefaultRoute: 10.0.1.1
   # Define the DNS servers (maximum 2) for the overcloud nodes
   DnsServers: ["8.8.8.8","8.8.4.4"]
-  # Set to empty string to enable multiple external networks or VLANs
-  NeutronExternalNetworkBridge: "''"
   # List of Neutron network types for tenant networks (will be used in order)
   NeutronNetworkType: 'vxlan,vlan'
   # The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling.
index 06927fe..1d6a237 100644 (file)
@@ -22,10 +22,6 @@ parameters:
   Debug:
     type: string
     default: ''
-  NeutronExternalNetworkBridge:
-    description: Name of bridge used for external network traffic.
-    type: string
-    default: 'br-ex'
   MonitoringSubscriptionNeutronL3Dvr:
     default: 'overcloud-neutron-l3-dvr'
     type: string
@@ -35,6 +31,19 @@ parameters:
       tag: openstack.neutron.agent.l3-compute
       path: /var/log/neutron/l3-agent.log
 
+  # DEPRECATED: the following options are deprecated and are currently maintained
+  # for backwards compatibility. They will be removed in the Pike cycle.
+  NeutronExternalNetworkBridge:
+    description: Name of bridge used for external network traffic. Usually L2
+                 agent handles port wiring into external bridge, and hence the
+                 parameter should be unset.
+    type: string
+    default: ''
+
+conditions:
+
+  external_network_bridge_empty: {equals : [{get_param: NeutronExternalNetworkBridge}, "''"]}
+
 resources:
 
   NeutronBase:
@@ -56,7 +65,11 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [NeutronBase, role_data, config_settings]
-          - neutron::agents::l3::external_network_bridge: {get_param: NeutronExternalNetworkBridge}
-            neutron::agents::l3::agent_mode : 'dvr'
+          - neutron::agents::l3::agent_mode : 'dvr'
+          -
+            if:
+            - external_network_bridge_empty
+            - {}
+            - neutron::agents::l3::external_network_bridge: {get_param: NeutronExternalNetworkBridge}
       step_config: |
         include tripleo::profile::base::neutron::l3
index 6980355..4fa4927 100644 (file)
@@ -21,10 +21,6 @@ parameters:
   Debug:
     type: string
     default: ''
-  NeutronExternalNetworkBridge:
-    description: Name of bridge used for external network traffic.
-    type: string
-    default: 'br-ex'
   NeutronL3AgentMode:
     description: |
       Agent mode for L3 agent. Must be one of legacy or dvr_snat.
@@ -43,6 +39,15 @@ parameters:
       tag: openstack.neutron.agent.l3
       path: /var/log/neutron/l3-agent.log
 
+  # DEPRECATED: the following options are deprecated and are currently maintained
+  # for backwards compatibility. They will be removed in the Pike cycle.
+  NeutronExternalNetworkBridge:
+    description: Name of bridge used for external network traffic. Usually L2
+                 agent handles port wiring into external bridge, and hence the
+                 parameter should be unset.
+    type: string
+    default: ''
+
 conditions:
 
   external_network_bridge_empty: {equals : [{get_param: NeutronExternalNetworkBridge}, "''"]}