From 95f889720c2f7e8467cc0f488ad0176dcafffe6a Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Fri, 20 Sep 2019 12:29:57 +0200 Subject: [PATCH] Enable "port_forwarding" feature in neutron ML2 ovs environment This patch enables port_forwarding service plugin and L3 agent's extension in case of ML2/OVS environment. It don't enable it in ML2/OVN cases as networking-ovn don't support port_forwarding yet. This patch also adds NeutronL3AgentExtensions config option for Neutron L3 agent. This new option is used to enable "port_forwarding" extension on L3 agent. Change-Id: I2417f9f6a436ae7a3820e16fdf6210099807b651 --- deployment/neutron/neutron-l3-container-puppet.yaml | 10 ++++++++++ environments/services/neutron-ovs.yaml | 4 +++- ...le-port-forwarding-in-neutron-956cb21a3310e881.yaml | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/enable-port-forwarding-in-neutron-956cb21a3310e881.yaml diff --git a/deployment/neutron/neutron-l3-container-puppet.yaml b/deployment/neutron/neutron-l3-container-puppet.yaml index c5add19f1c..38da9f3357 100644 --- a/deployment/neutron/neutron-l3-container-puppet.yaml +++ b/deployment/neutron/neutron-l3-container-puppet.yaml @@ -122,6 +122,11 @@ parameters: parameter should be unset. type: string default: '' + NeutronL3AgentExtensions: + default: "" + description: | + Comma-separated list of extensions enabled for the Neutron L3 agent. + type: comma_delimited_list conditions: keepalived_wrapper_enabled: {equals: [{get_param: NeutronEnableKeepalivedWrapper}, true]} @@ -132,6 +137,7 @@ conditions: service_debug_unset: {equals : [{get_param: NeutronWrapperDebug}, false]} external_network_bridge_empty: {equals : [{get_param: NeutronExternalNetworkBridge}, "''"]} az_unset: {equals: [{get_param: NeutronL3AgentAvailabilityZone}, '']} + l3_agent_extensions_empty: {equals : [{get_param: NeutronL3AgentExtensions}, "''"]} resources: @@ -215,6 +221,10 @@ outputs: - az_unset - {} - neutron::agents::l3::availability_zone: {get_param: NeutronL3AgentAvailabilityZone} + if: + - l3_agent_extensions_empty + - {} + - neutron::agents::l3::extensions: {get_param: NeutronL3AgentExtensions} service_config_settings: map_merge: - get_attr: [NeutronBase, role_data, service_config_settings] diff --git a/environments/services/neutron-ovs.yaml b/environments/services/neutron-ovs.yaml index 68c0efffb4..a4c3b22bbd 100644 --- a/environments/services/neutron-ovs.yaml +++ b/environments/services/neutron-ovs.yaml @@ -28,8 +28,10 @@ parameter_defaults: NeutronTypeDrivers: 'vxlan,vlan,flat,gre' NeutronNetworkType: 'vxlan' - NeutronServicePlugins: 'router,qos,segments,trunk' + NeutronServicePlugins: 'router,qos,segments,trunk,port_forwarding' NeutronVniRanges: ['1:65536', ] KernelIpNonLocalBind: 0 NeutronEnableDVR: false + + NeutronL3AgentExtensions: "port_forwarding" diff --git a/releasenotes/notes/enable-port-forwarding-in-neutron-956cb21a3310e881.yaml b/releasenotes/notes/enable-port-forwarding-in-neutron-956cb21a3310e881.yaml new file mode 100644 index 0000000000..53c6b693a1 --- /dev/null +++ b/releasenotes/notes/enable-port-forwarding-in-neutron-956cb21a3310e881.yaml @@ -0,0 +1,8 @@ +--- +other: + - | + Add "port_forwarding" service plugin and L3 agent extension to be enabled + by default when Neutron ML2 plugin with OVS driver is used. + New config option "NeutronL3AgentExtensions" is also added. This + new option allows to set list of L3 agent's extensions which should be + used by agent.