Allow to nicely control list of L3 agent extensions

This implements a standalone variable which allows to re-define or
extend a list of enabled neutron extensions.

Change-Id: I5476fe856ffa02c60490976c359d3d81e5d9d393
This commit is contained in:
Dmitriy Rabotyagov 2024-07-23 19:50:57 +02:00
parent 0cf7321ff8
commit 8f636d295f
4 changed files with 25 additions and 10 deletions

View File

@ -447,6 +447,11 @@ neutron_l3_ha_net_cidr: 169.254.192.0/18
neutron_l3_cleanup_on_shutdown: False
## List of extensions enabled for L3
## The list can be extended by operator if needed, ie in user_variables.yml:
# neutron_l3_agent_extensions: "{{ _neutron_l3_agent_extensions + ['neutron_fip_qos'] }}"
neutron_l3_agent_extensions: "{{ _neutron_l3_agent_extensions }}"
# Specify the maximum number of L3 agents per tenant network. Defaults to the total number of agents deployed
# neutron_l3_agents_max: 2

View File

@ -0,0 +1,5 @@
---
features:
- |
Implemented variable `neutron_l3_agent_extensions` to control list of
enabled L3 agent extensions.

View File

@ -24,11 +24,8 @@ cleanup_on_shutdown = {{ neutron_l3_cleanup_on_shutdown }}
enable_metadata_proxy = True
# L3 plugins
{% set l3_agent_plugins = [] %}
{% if neutron_fwaas_v2 | bool %}
# FWaaS v2
{% set _ = l3_agent_plugins.append("fwaas_v2") %}
[fwaas]
enabled = true
driver = {{ neutron_driver_fwaasv2 }}
@ -38,17 +35,12 @@ firewall_l2_driver = noop
{% if neutron_vpnaas | bool %}
# VPNaaS
{% set _ = l3_agent_plugins.append("vpnaas") %}
[vpnagent]
vpn_device_driver = {{ neutron_driver_vpnaas }}
{% endif %}
{% if neutron_port_forwarding|bool %}
{% set _ = l3_agent_plugins.append("port_forwarding") %}
{% endif %}
[AGENT]
{% if l3_agent_plugins | length > 0 %}
extensions = {{ l3_agent_plugins | join(',') }}
{% if neutron_l3_agent_extensions | length > 0 %}
extensions = {{ neutron_l3_agent_extensions | join(',') }}
{% endif %}
availability_zone = {{ neutron_availability_zone }}

View File

@ -269,6 +269,19 @@ neutron_l3: >-
'df-l3' in neutron_plugin_base
%}True{% else %}False{% endif %}
_neutron_l3_agent_extensions: |-
{% set extensions = [] %}
{% if neutron_fwaas_v2 | bool %}
{% set _ = extensions.append('fwaas_v2') %}
{% endif %}
{% if neutron_vpnaas | bool %}
{% set _ = extensions.append("vpnaas") %}
{% endif %}
{% if neutron_port_forwarding | bool %}
{% set _ = extensions.append("port_forwarding") %}
{% endif %}
{{ extensions }}
###
### DHCP Agent Plugin Configuration
###