Remove parameter external_network_bridge from neutron::l3

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 has been removed
from puppet-neutron in https://review.openstack.org/#/c/423625/.

This patch changes neutron configuration 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 modify to preserve the
existing behavior, creating a public network attached to br-ex bridge.

Change-Id: I71677a5d456ec8748e36f2191f247c96fa578d7d
This commit is contained in:
Alfredo Moralejo 2017-01-25 20:53:14 +01:00
parent 4c04348577
commit e649710c78
5 changed files with 35 additions and 6 deletions

View File

@ -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
------------------------------------

View File

@ -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,

View File

@ -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'),

View File

@ -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',

View File

@ -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.