diff --git a/docs/packstack.rst b/docs/packstack.rst index d011d875b..e16a3d10c 100755 --- a/docs/packstack.rst +++ b/docs/packstack.rst @@ -856,6 +856,9 @@ Neutron OVS agent config **CONFIG_NEUTRON_OVS_BRIDGES_COMPUTE** Comma-separated list of Open vSwitch bridges that must be created and connected to interfaces in compute nodes when flat or vlan type drivers are enabled. These bridges must exist in CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS and CONFIG_NEUTRON_OVS_BRIDGE_IFACES. Example: --os-neutron-ovs-bridges-compute=br-vlan --os-neutron-ovs-bridge-mappings="extnet:br-ex,physnet1:br-vlan" --os-neutron-ovs-bridge-interfaces="br-ex:eth1,br-vlan:eth2" +**CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET** + Name of physical network used for external network when enabling CONFIG_PROVISION_DEMO. Name must be one of the included in CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS. Example: --os-neutron-ovs-bridge-mappings="extnet:br-ex,physnet1:br-vlan" --os-neutron-ovs-bridge-interfaces="br-ex:eth1,br-vlan:eth2" --os-neutron-ovs-external-physnet="extnet" + Neutron OVS agent config for tunnels ------------------------------------ diff --git a/packstack/plugins/neutron_350.py b/packstack/plugins/neutron_350.py index 483b7c6d3..b66bc4297 100644 --- a/packstack/plugins/neutron_350.py +++ b/packstack/plugins/neutron_350.py @@ -160,7 +160,7 @@ def initConfig(controller): "the Neutron openvswitch plugin"), "OPTION_LIST": [], "VALIDATORS": [], - "DEFAULT_VALUE": "", + "DEFAULT_VALUE": "extnet:br-ex", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS", @@ -196,6 +196,18 @@ def initConfig(controller): "NEED_CONFIRM": False, "CONDITION": False}, + {"CMD_OPTION": "os-neutron-ovs-external-physnet", + "PROMPT": ("Enter the name of the physical external network as" + "defined in bridge mappings"), + "OPTION_LIST": [], + "VALIDATORS": [], + "DEFAULT_VALUE": "extnet", + "MASK_INPUT": False, + "LOOSE_VALIDATION": True, + "CONF_NAME": "CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET", + "USE_DEFAULT": False, + "NEED_CONFIRM": False, + "CONDITION": False}, ], "NEUTRON_OVS_AGENT_TUNNEL": [ @@ -247,7 +259,7 @@ def initConfig(controller): "entrypoints"), "OPTION_LIST": ["local", "flat", "vlan", "gre", "vxlan"], "VALIDATORS": [validators.validate_multi_options], - "DEFAULT_VALUE": "vxlan", + "DEFAULT_VALUE": "vxlan,flat", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "USE_DEFAULT": False, diff --git a/packstack/puppet/modules/packstack/manifests/neutron/l3.pp b/packstack/puppet/modules/packstack/manifests/neutron/l3.pp index 186ca92bc..b6b857483 100644 --- a/packstack/puppet/modules/packstack/manifests/neutron/l3.pp +++ b/packstack/puppet/modules/packstack/manifests/neutron/l3.pp @@ -14,7 +14,6 @@ class packstack::neutron::l3 () class { '::neutron::agents::l3': interface_driver => hiera('CONFIG_NEUTRON_L3_INTERFACE_DRIVER'), - external_network_bridge => hiera('CONFIG_NEUTRON_L3_EXT_BRIDGE'), manage_service => $start_l3_agent, enabled => $start_l3_agent, debug => hiera('CONFIG_DEBUG_MODE'), diff --git a/packstack/puppet/modules/packstack/manifests/provision.pp b/packstack/puppet/modules/packstack/manifests/provision.pp index 0ed9f19d0..c0cbab072 100644 --- a/packstack/puppet/modules/packstack/manifests/provision.pp +++ b/packstack/puppet/modules/packstack/manifests/provision.pp @@ -57,13 +57,16 @@ class packstack::provision () $private_subnet_name = 'private_subnet' $fixed_range = '10.0.0.0/24' $router_name = 'router1' + $public_physnet = hiera('CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET') $neutron_deps = [Neutron_network[$public_network_name]] neutron_network { $public_network_name: - ensure => present, - router_external => true, - tenant_name => $admin_tenant_name, + ensure => present, + router_external => true, + tenant_name => $admin_tenant_name, + provider_network_type => 'flat', + provider_physical_network => $public_physnet, } neutron_subnet { $public_subnet_name: ensure => 'present', diff --git a/releasenotes/notes/l3-agent-multiple-networks-9d1837c4187055be.yaml b/releasenotes/notes/l3-agent-multiple-networks-9d1837c4187055be.yaml new file mode 100644 index 000000000..cb1483e47 --- /dev/null +++ b/releasenotes/notes/l3-agent-multiple-networks-9d1837c4187055be.yaml @@ -0,0 +1,12 @@ +--- +features: + - In previous releases neutron L3 agent was configured + statically to manage only br-ex as provider network. + This way of configuring neutron is being deprecated in neutron + and it's recomended to move to a new mode where a + single L3 agent is able to manage multiple provider + networks. To implement it, a new parameter + CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET has been introduced. + Default configuration has been modified to preserve the + same behavior, creating a public network attached to + br-ex bridge.