diff --git a/defaults/main.yml b/defaults/main.yml index 29b8559e..255767a4 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -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 diff --git a/releasenotes/notes/l3_agent_extensions_var-79150960642ce551.yaml b/releasenotes/notes/l3_agent_extensions_var-79150960642ce551.yaml new file mode 100644 index 00000000..54f09208 --- /dev/null +++ b/releasenotes/notes/l3_agent_extensions_var-79150960642ce551.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Implemented variable `neutron_l3_agent_extensions` to control list of + enabled L3 agent extensions. diff --git a/templates/l3_agent.ini.j2 b/templates/l3_agent.ini.j2 index e3eb4879..a2652b80 100644 --- a/templates/l3_agent.ini.j2 +++ b/templates/l3_agent.ini.j2 @@ -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 }} diff --git a/vars/main.yml b/vars/main.yml index d81a41a0..e30cb341 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -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 ###