Handle the hardcoded configuration values
This patch allows to customize the hardcoded configuration values,
as well as introduce new configuration options for neutron services
by configmap template with the specified section:
neutron:
server:
configmap:
neutron_server:
quotas:
quota_network: 20
quota_subnet: 10
quota_port: 100
gateway:
metadata_agent:
DEFAULT:
metadata_workers: 10
debug: True
agent:
report_interval: 30
l3_agent:
DEFAULT:
agent_mode : dvr
agent:
report_interval: 40
dhpc_agent:
DEFAULT:
ovs_vsctl_timeout: 12
resync_interval: 60
agent:
report_interval: 60
Change-Id: If4ae2530a0d0ebe71d0689fc2a5ffb121f49acbd
Related-Prod: PROD-29040
diff --git a/README.rst b/README.rst
index 8986c63..eb45711 100644
--- a/README.rst
+++ b/README.rst
@@ -1638,6 +1638,46 @@
workers: 64
logto: /var/log/neutron/neutron-server.log
+Setup hardcoded configuration values
+------------------------------------
+
+.. code-block:: yaml
+
+ neutron:
+ server:
+ configmap:
+ neutron_server:
+ DEFAULT:
+ max_subnet_host_routes: 30
+ max_routes: 60
+ debug_iptables_rules: True
+ quotas:
+ quota_network: 20
+ quota_subnet: 10
+ quota_port: 100
+ matchmaker_redis:
+ host: 127.0.0.1
+ port: 6379
+ password: pswd
+ gateway:
+ configmap:
+ metadata_agent:
+ DEFAULT:
+ metadata_workers: 10
+ debug: True
+ agent:
+ report_interval: 30
+ l3_agent:
+ DEFAULT:
+ agent_mode : dvr
+ agent:
+ report_interval: 40
+ dhcp_agent:
+ DEFAULT:
+ ovs_vsctl_timeout: 12
+ resync_interval: 60
+ agent:
+ report_interval: 60
Upgrades
========
diff --git a/neutron/files/ocata/dhcp_agent.ini b/neutron/files/ocata/dhcp_agent.ini
index d327e64..4105700 100644
--- a/neutron/files/ocata/dhcp_agent.ini
+++ b/neutron/files/ocata/dhcp_agent.ini
@@ -1,3 +1,8 @@
+{%- if pillar.neutron.gateway is defined %}
+{%- from "neutron/map.jinja" import gateway as neutron with context %}
+{%- else %}
+{%- from "neutron/map.jinja" import compute as neutron with context %}
+{%- endif %}
[DEFAULT]
#
@@ -198,3 +203,7 @@
# ovsdb_interface is enabled (string value)
#ovsdb_connection = tcp:127.0.0.1:6640
+{%- if neutron.get('configmap', {}).dhcp_agent is defined %}
+{%- set _data = neutron.configmap.dhcp_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/fwaas_driver.ini b/neutron/files/ocata/fwaas_driver.ini
index 40442a4..a19bf81 100644
--- a/neutron/files/ocata/fwaas_driver.ini
+++ b/neutron/files/ocata/fwaas_driver.ini
@@ -23,3 +23,8 @@
# Name of the FWaaS Conntrack Driver (string value)
#conntrack_driver = conntrack
conntrack_driver = {{ fwaas.get('conntrack_driver', 'conntrack') }}
+
+{%- if fwaas.configmap is defined %}
+{%- set _data = fwaas.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/l3_agent.ini b/neutron/files/ocata/l3_agent.ini
index 4c3c5cb..ab7d02e 100644
--- a/neutron/files/ocata/l3_agent.ini
+++ b/neutron/files/ocata/l3_agent.ini
@@ -327,3 +327,8 @@
# when monitoring and used for the all ovsdb commands when native
# ovsdb_interface is enabled (string value)
#ovsdb_connection = tcp:127.0.0.1:6640
+
+{%- if neutron.get('configmap', {}).l3_agent is defined %}
+{%- set _data = neutron.configmap.l3_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/linuxbridge_agent.ini b/neutron/files/ocata/linuxbridge_agent.ini
index 43532f4..45db17e 100644
--- a/neutron/files/ocata/linuxbridge_agent.ini
+++ b/neutron/files/ocata/linuxbridge_agent.ini
@@ -263,3 +263,8 @@
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true
+
+{%- if neutron.get('configmap', {}).linuxbridge_agent is defined %}
+{%- set _data = neutron.configmap.linuxbridge_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/metadata_agent.ini b/neutron/files/ocata/metadata_agent.ini
index d846630..71aadb8 100644
--- a/neutron/files/ocata/metadata_agent.ini
+++ b/neutron/files/ocata/metadata_agent.ini
@@ -281,3 +281,8 @@
# Number of seconds that an operation will wait to get a memcache client
# connection. (integer value)
#memcache_pool_connection_get_timeout = 10
+
+{%- if neutron.get('configmap', {}).metadata_agent is defined %}
+{%- set _data = neutron.configmap.metadata_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/ml2_conf.ini b/neutron/files/ocata/ml2_conf.ini
index ab67788..224637c 100644
--- a/neutron/files/ocata/ml2_conf.ini
+++ b/neutron/files/ocata/ml2_conf.ini
@@ -364,3 +364,8 @@
ovn_sb_connection = tcp:{{ server.controller_vip }}:6642
ovn_l3_scheduler = leastloaded
{%- endif %}
+
+{%- if server.get('configmap', {}).ml2 is defined %}
+{%- set _data = server.configmap.ml2 %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/neutron-generic.conf b/neutron/files/ocata/neutron-generic.conf
index 403b3ce..48baf54 100644
--- a/neutron/files/ocata/neutron-generic.conf
+++ b/neutron/files/ocata/neutron-generic.conf
@@ -2102,3 +2102,8 @@
# Sets the list of available ciphers. value should be a string in the OpenSSL
# cipher list format. (string value)
#ciphers = <None>
+
+{%- if neutron.get('configmap', {}).neutron_generic is defined %}
+{%- set _data = neutron.configmap.neutron_generic %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/neutron-server.conf b/neutron/files/ocata/neutron-server.conf
index 56494f5..98b5e2d 100644
--- a/neutron/files/ocata/neutron-server.conf
+++ b/neutron/files/ocata/neutron-server.conf
@@ -2274,3 +2274,8 @@
password = {{ server.identity.password }}
auth_url=http://{{ server.identity.host }}:35357
{%- endif %}
+
+{%- if server.get('configmap', {}).neutron_server is defined %}
+{%- set _data = server.configmap.neutron_server %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/openvswitch_agent.ini b/neutron/files/ocata/openvswitch_agent.ini
index fa94c21..e72aa41 100644
--- a/neutron/files/ocata/openvswitch_agent.ini
+++ b/neutron/files/ocata/openvswitch_agent.ini
@@ -358,3 +358,8 @@
# Password for connection to XenServer/Xen Cloud Platform. (string value)
#connection_password = <None>
+
+{%- if neutron.get('configmap', {}).openvswitch_agent is defined %}
+{%- set _data = neutron.configmap.openvswitch_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/ocata/sriov_agent.ini b/neutron/files/ocata/sriov_agent.ini
index 3947dec..98fa4fb 100644
--- a/neutron/files/ocata/sriov_agent.ini
+++ b/neutron/files/ocata/sriov_agent.ini
@@ -158,3 +158,8 @@
[securitygroup]
firewall_driver = neutron.agent.firewall.NoopFirewallDriver
{%- endif %}
+
+{%- if neutron.get('configmap', {}).sriov_agent is defined %}
+{%- set _data = neutron.configmap.sriov_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/bagpipe-bgp.conf b/neutron/files/pike/bagpipe-bgp.conf
index 253191b..1cc3e5c 100644
--- a/neutron/files/pike/bagpipe-bgp.conf
+++ b/neutron/files/pike/bagpipe-bgp.conf
@@ -106,4 +106,9 @@
# we will use to send)
# Note: does not need to be specified if different than the BGP local_address
# dataplane_local_address=eth1
-# dataplane_local_address=1.2.3.4
\ No newline at end of file
+# dataplane_local_address=1.2.3.4
+
+{%- if compute.get('configmap', {}).bagpipe_bgp is defined %}
+{%- set _data = compute.configmap.bagpipe_bgp %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/dhcp_agent.ini b/neutron/files/pike/dhcp_agent.ini
index cbc5b2a..907677b 100644
--- a/neutron/files/pike/dhcp_agent.ini
+++ b/neutron/files/pike/dhcp_agent.ini
@@ -239,3 +239,7 @@
# ovsdb_interface is enabled (string value)
#ovsdb_connection = tcp:127.0.0.1:6640
+{%- if neutron.get('configmap', {}).dhcp_agent is defined %}
+{%- set _data = neutron.configmap.dhcp_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/fwaas_driver.ini b/neutron/files/pike/fwaas_driver.ini
index 40442a4..a19bf81 100644
--- a/neutron/files/pike/fwaas_driver.ini
+++ b/neutron/files/pike/fwaas_driver.ini
@@ -23,3 +23,8 @@
# Name of the FWaaS Conntrack Driver (string value)
#conntrack_driver = conntrack
conntrack_driver = {{ fwaas.get('conntrack_driver', 'conntrack') }}
+
+{%- if fwaas.configmap is defined %}
+{%- set _data = fwaas.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/l2gw/l2gateway_agent.ini b/neutron/files/pike/l2gw/l2gateway_agent.ini
index 59a62fb..3d9284c 100644
--- a/neutron/files/pike/l2gw/l2gateway_agent.ini
+++ b/neutron/files/pike/l2gw/l2gateway_agent.ini
@@ -66,3 +66,8 @@
# safely assume that the connection with the remote OVSDB server is lost.
socket_timeout = {{ gateway.l2gw.socket_timeout|default('30') }}
# Example: socket_timeout = 30
+
+{%- if gateway.get('configmap', {}).l2gateway_agent is defined %}
+{%- set _data = gateway.configmap.l2gateway_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/l2gw/l2gw_plugin.ini b/neutron/files/pike/l2gw/l2gw_plugin.ini
index 8ea1bd7..9fe2895 100644
--- a/neutron/files/pike/l2gw/l2gw_plugin.ini
+++ b/neutron/files/pike/l2gw/l2gw_plugin.ini
@@ -24,3 +24,8 @@
# Combination of <service type> and <name> must be unique; <driver> must also be unique
# This is multiline option
service_provider = {{ server.l2gw.service_provider|default('L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.rpc_l2gw.L2gwRpcDriver:default') }}
+
+{%- if server.get('configmap', {}).l2gw_plugin is defined %}
+{%- set _data = server.configmap.l2gw_plugin %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/l3_agent.ini b/neutron/files/pike/l3_agent.ini
index a1e58bb..210ba3d 100644
--- a/neutron/files/pike/l3_agent.ini
+++ b/neutron/files/pike/l3_agent.ini
@@ -330,3 +330,8 @@
# when monitoring and used for the all ovsdb commands when native
# ovsdb_interface is enabled (string value)
#ovsdb_connection = tcp:127.0.0.1:6640
+
+{%- if neutron.get('configmap', {}).l3_agent is defined %}
+{%- set _data = neutron.configmap.l3_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/linuxbridge_agent.ini b/neutron/files/pike/linuxbridge_agent.ini
index 43532f4..45db17e 100644
--- a/neutron/files/pike/linuxbridge_agent.ini
+++ b/neutron/files/pike/linuxbridge_agent.ini
@@ -263,3 +263,8 @@
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true
+
+{%- if neutron.get('configmap', {}).linuxbridge_agent is defined %}
+{%- set _data = neutron.configmap.linuxbridge_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/metadata_agent.ini b/neutron/files/pike/metadata_agent.ini
index d846630..71aadb8 100644
--- a/neutron/files/pike/metadata_agent.ini
+++ b/neutron/files/pike/metadata_agent.ini
@@ -281,3 +281,8 @@
# Number of seconds that an operation will wait to get a memcache client
# connection. (integer value)
#memcache_pool_connection_get_timeout = 10
+
+{%- if neutron.get('configmap', {}).metadata_agent is defined %}
+{%- set _data = neutron.configmap.metadata_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/ml2_conf.ini b/neutron/files/pike/ml2_conf.ini
index 17818ee..b705689 100644
--- a/neutron/files/pike/ml2_conf.ini
+++ b/neutron/files/pike/ml2_conf.ini
@@ -385,3 +385,8 @@
# Service. (boolean value)
enable_dhcp_service = {{ server.backend.enable_dhcp_service|default('false') }}
{%- endif %}
+
+{%- if server.get('configmap', {}).ml2 is defined %}
+{%- set _data = server.configmap.ml2 %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/neutron-generic.conf b/neutron/files/pike/neutron-generic.conf
index 96d66ba..b93d3d4 100644
--- a/neutron/files/pike/neutron-generic.conf
+++ b/neutron/files/pike/neutron-generic.conf
@@ -2132,3 +2132,8 @@
{%- if neutron.backend.ovsdb_connection is defined %}
ovsdb_connection = {{ neutron.backend.ovsdb_connection }}
{%- endif %}
+
+{%- if neutron.get('configmap', {}).neutron_generic is defined %}
+{%- set _data = neutron.configmap.neutron_generic %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/neutron-server.conf b/neutron/files/pike/neutron-server.conf
index 5cccb0f..f926192 100644
--- a/neutron/files/pike/neutron-server.conf
+++ b/neutron/files/pike/neutron-server.conf
@@ -2381,3 +2381,8 @@
{% if server.n_g_s is defined -%}
{%- include "neutron/files/pike/plugins/_n_g_s.conf" %}
{% endif %}
+
+{%- if server.get('configmap', {}).neutron_server is defined %}
+{%- set _data = server.configmap.neutron_server %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/openvswitch_agent.ini b/neutron/files/pike/openvswitch_agent.ini
index 5c3545c..19ade98 100644
--- a/neutron/files/pike/openvswitch_agent.ini
+++ b/neutron/files/pike/openvswitch_agent.ini
@@ -385,3 +385,8 @@
# Password for connection to XenServer/Xen Cloud Platform. (string value)
#connection_password = <None>
+
+{%- if neutron.get('configmap', {}).openvswitch_agent is defined %}
+{%- set _data = neutron.configmap.openvswitch_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/pike/sriov_agent.ini b/neutron/files/pike/sriov_agent.ini
index 734c7bd..c0d26c9 100644
--- a/neutron/files/pike/sriov_agent.ini
+++ b/neutron/files/pike/sriov_agent.ini
@@ -163,3 +163,8 @@
[securitygroup]
firewall_driver = neutron.agent.firewall.NoopFirewallDriver
{%- endif %}
+
+{%- if neutron.get('configmap', {}).sriov_agent is defined %}
+{%- set _data = neutron.configmap.sriov_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/bagpipe-bgp.conf b/neutron/files/queens/bagpipe-bgp.conf
index 253191b..1cc3e5c 100644
--- a/neutron/files/queens/bagpipe-bgp.conf
+++ b/neutron/files/queens/bagpipe-bgp.conf
@@ -106,4 +106,9 @@
# we will use to send)
# Note: does not need to be specified if different than the BGP local_address
# dataplane_local_address=eth1
-# dataplane_local_address=1.2.3.4
\ No newline at end of file
+# dataplane_local_address=1.2.3.4
+
+{%- if compute.get('configmap', {}).bagpipe_bgp is defined %}
+{%- set _data = compute.configmap.bagpipe_bgp %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/dhcp_agent.ini b/neutron/files/queens/dhcp_agent.ini
index 1c0ff9a..dab89ad 100644
--- a/neutron/files/queens/dhcp_agent.ini
+++ b/neutron/files/queens/dhcp_agent.ini
@@ -214,3 +214,8 @@
# will fail with ALARMCLOCK error. (integer value)
# Deprecated group/name - [DEFAULT]/ovs_vsctl_timeout
#ovsdb_timeout = 10
+
+{%- if neutron.get('configmap', {}).dhcp_agent is defined %}
+{%- set _data = neutron.configmap.dhcp_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/l2gw/l2gateway_agent.ini b/neutron/files/queens/l2gw/l2gateway_agent.ini
index 59a62fb..3d9284c 100644
--- a/neutron/files/queens/l2gw/l2gateway_agent.ini
+++ b/neutron/files/queens/l2gw/l2gateway_agent.ini
@@ -66,3 +66,8 @@
# safely assume that the connection with the remote OVSDB server is lost.
socket_timeout = {{ gateway.l2gw.socket_timeout|default('30') }}
# Example: socket_timeout = 30
+
+{%- if gateway.get('configmap', {}).l2gateway_agent is defined %}
+{%- set _data = gateway.configmap.l2gateway_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/l2gw/l2gw_plugin.ini b/neutron/files/queens/l2gw/l2gw_plugin.ini
index 8ea1bd7..9fe2895 100644
--- a/neutron/files/queens/l2gw/l2gw_plugin.ini
+++ b/neutron/files/queens/l2gw/l2gw_plugin.ini
@@ -24,3 +24,8 @@
# Combination of <service type> and <name> must be unique; <driver> must also be unique
# This is multiline option
service_provider = {{ server.l2gw.service_provider|default('L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.rpc_l2gw.L2gwRpcDriver:default') }}
+
+{%- if server.get('configmap', {}).l2gw_plugin is defined %}
+{%- set _data = server.configmap.l2gw_plugin %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/l3_agent.ini b/neutron/files/queens/l3_agent.ini
index b6f1960..339ab04 100644
--- a/neutron/files/queens/l3_agent.ini
+++ b/neutron/files/queens/l3_agent.ini
@@ -259,3 +259,8 @@
# will fail with ALARMCLOCK error. (integer value)
# Deprecated group/name - [DEFAULT]/ovs_vsctl_timeout
#ovsdb_timeout = 10
+
+{%- if neutron.get('configmap', {}).l3_agent is defined %}
+{%- set _data = neutron.configmap.l3_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/linuxbridge_agent.ini b/neutron/files/queens/linuxbridge_agent.ini
index ceeb868..c0f04d3 100644
--- a/neutron/files/queens/linuxbridge_agent.ini
+++ b/neutron/files/queens/linuxbridge_agent.ini
@@ -290,3 +290,8 @@
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true
+
+{%- if neutron.get('configmap', {}).linuxbridge_agent is defined %}
+{%- set _data = neutron.configmap.linuxbridge_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/metadata_agent.ini b/neutron/files/queens/metadata_agent.ini
index 20ca19c..fcee7ab 100644
--- a/neutron/files/queens/metadata_agent.ini
+++ b/neutron/files/queens/metadata_agent.ini
@@ -101,3 +101,8 @@
{%- set _data = neutron.cache %}
{%- include "oslo_templates/files/queens/oslo/_cache.conf" %}
{%- endif %}
+
+{%- if neutron.get('configmap', {}).metadata_agent is defined %}
+{%- set _data = neutron.configmap.metadata_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/ml2_conf.ini b/neutron/files/queens/ml2_conf.ini
index bb2f126..bb5b1b3 100644
--- a/neutron/files/queens/ml2_conf.ini
+++ b/neutron/files/queens/ml2_conf.ini
@@ -286,3 +286,8 @@
# Service. (boolean value)
enable_dhcp_service = {{ server.backend.enable_dhcp_service|default('false') }}
{%- endif %}
+
+{%- if server.get('configmap', {}).ml2 is defined %}
+{%- set _data = server.configmap.ml2 %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/neutron-generic.conf b/neutron/files/queens/neutron-generic.conf
index 08b1fff..b1bb084 100644
--- a/neutron/files/queens/neutron-generic.conf
+++ b/neutron/files/queens/neutron-generic.conf
@@ -525,3 +525,8 @@
{%- if neutron.backend.ovsdb_connection is defined %}
ovsdb_connection = {{ neutron.backend.ovsdb_connection }}
{%- endif %}
+
+{%- if neutron.get('configmap', {}).neutron_generic is defined %}
+{%- set _data = neutron.configmap.neutron_generic %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/neutron-server.conf b/neutron/files/queens/neutron-server.conf
index 7aa7e4e..63a9c46 100644
--- a/neutron/files/queens/neutron-server.conf
+++ b/neutron/files/queens/neutron-server.conf
@@ -619,3 +619,8 @@
{% if server.n_g_s is defined -%}
{%- include "neutron/files/queens/plugins/_n_g_s.conf" %}
{% endif %}
+
+{%- if server.get('configmap', {}).neutron_server is defined %}
+{%- set _data = server.configmap.neutron_server %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/openvswitch_agent.ini b/neutron/files/queens/openvswitch_agent.ini
index 39a07cb..d642dec 100644
--- a/neutron/files/queens/openvswitch_agent.ini
+++ b/neutron/files/queens/openvswitch_agent.ini
@@ -305,3 +305,8 @@
# Password for connection to XenServer/Xen Cloud Platform. (string value)
#connection_password = <None>
+
+{%- if neutron.get('configmap', {}).openvswitch_agent is defined %}
+{%- set _data = neutron.configmap.openvswitch_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/ovn/metadata-agent.ini b/neutron/files/queens/ovn/metadata-agent.ini
index 8a65292..3a1e3a1 100644
--- a/neutron/files/queens/ovn/metadata-agent.ini
+++ b/neutron/files/queens/ovn/metadata-agent.ini
@@ -95,3 +95,8 @@
[ovn]
ovn_sb_connection = tcp:{{ compute.controller_vip }}:6642
+
+{%- if compute.get('configmap', {}).get('ovn', {}).metadata_agent is defined %}
+{%- set _data = compute.configmap.ovn.metadata_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/queens/sriov_agent.ini b/neutron/files/queens/sriov_agent.ini
index 734c7bd..c0d26c9 100644
--- a/neutron/files/queens/sriov_agent.ini
+++ b/neutron/files/queens/sriov_agent.ini
@@ -163,3 +163,8 @@
[securitygroup]
firewall_driver = neutron.agent.firewall.NoopFirewallDriver
{%- endif %}
+
+{%- if neutron.get('configmap', {}).sriov_agent is defined %}
+{%- set _data = neutron.configmap.sriov_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/bagpipe-bgp.conf b/neutron/files/rocky/bagpipe-bgp.conf
index d4f8b5c..3338f9b 100644
--- a/neutron/files/rocky/bagpipe-bgp.conf
+++ b/neutron/files/rocky/bagpipe-bgp.conf
@@ -106,4 +106,9 @@
# we will use to send)
# Note: does not need to be specified if different than the BGP local_address
# dataplane_local_address=eth1
-# dataplane_local_address=1.2.3.4
\ No newline at end of file
+# dataplane_local_address=1.2.3.4
+
+{%- if compute.get('configmap', {}).bagpipe_bgp is defined %}
+{%- set _data = compute.configmap.bagpipe_bgp %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/dhcp_agent.ini b/neutron/files/rocky/dhcp_agent.ini
index 9c5a739..c915c23 100644
--- a/neutron/files/rocky/dhcp_agent.ini
+++ b/neutron/files/rocky/dhcp_agent.ini
@@ -214,3 +214,8 @@
# Neutron OVS agent. Values outside a reasonable range (10 to 1,000,000) might
# be overridden by Open vSwitch according to the documentation. (integer value)
#bridge_mac_table_size = 50000
+
+{%- if neutron.get('configmap', {}).dhcp_agent is defined %}
+{%- set _data = neutron.configmap.dhcp_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/l2gw/l2gateway_agent.ini b/neutron/files/rocky/l2gw/l2gateway_agent.ini
index 59a62fb..3d9284c 100644
--- a/neutron/files/rocky/l2gw/l2gateway_agent.ini
+++ b/neutron/files/rocky/l2gw/l2gateway_agent.ini
@@ -66,3 +66,8 @@
# safely assume that the connection with the remote OVSDB server is lost.
socket_timeout = {{ gateway.l2gw.socket_timeout|default('30') }}
# Example: socket_timeout = 30
+
+{%- if gateway.get('configmap', {}).l2gateway_agent is defined %}
+{%- set _data = gateway.configmap.l2gateway_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/l2gw/l2gw_plugin.ini b/neutron/files/rocky/l2gw/l2gw_plugin.ini
index 8ea1bd7..9fe2895 100644
--- a/neutron/files/rocky/l2gw/l2gw_plugin.ini
+++ b/neutron/files/rocky/l2gw/l2gw_plugin.ini
@@ -24,3 +24,8 @@
# Combination of <service type> and <name> must be unique; <driver> must also be unique
# This is multiline option
service_provider = {{ server.l2gw.service_provider|default('L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.rpc_l2gw.L2gwRpcDriver:default') }}
+
+{%- if server.get('configmap', {}).l2gw_plugin is defined %}
+{%- set _data = server.configmap.l2gw_plugin %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/l3_agent.ini b/neutron/files/rocky/l3_agent.ini
index 1cb9ad4..9a7b147 100644
--- a/neutron/files/rocky/l3_agent.ini
+++ b/neutron/files/rocky/l3_agent.ini
@@ -258,3 +258,8 @@
# Neutron OVS agent. Values outside a reasonable range (10 to 1,000,000) might
# be overridden by Open vSwitch according to the documentation. (integer value)
#bridge_mac_table_size = 50000
+
+{%- if neutron.get('configmap', {}).l3_agent is defined %}
+{%- set _data = neutron.configmap.l3_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/linuxbridge_agent.ini b/neutron/files/rocky/linuxbridge_agent.ini
index 17f1a15..ad6e34f 100644
--- a/neutron/files/rocky/linuxbridge_agent.ini
+++ b/neutron/files/rocky/linuxbridge_agent.ini
@@ -215,3 +215,8 @@
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true
+
+{%- if neutron.get('configmap', {}).linuxbridge_agent is defined %}
+{%- set _data = neutron.configmap.linuxbridge_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/metadata_agent.ini b/neutron/files/rocky/metadata_agent.ini
index dadb500..17d1640 100644
--- a/neutron/files/rocky/metadata_agent.ini
+++ b/neutron/files/rocky/metadata_agent.ini
@@ -104,3 +104,8 @@
{%- set _data = neutron.cache %}
{%- include "oslo_templates/files/" ~ neutron.version ~ "/oslo/_cache.conf" %}
{%- endif %}
+
+{%- if neutron.get('configmap', {}).metadata_agent is defined %}
+{%- set _data = neutron.configmap.metadata_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/ml2_conf.ini b/neutron/files/rocky/ml2_conf.ini
index 48ad7df..a9a598f 100644
--- a/neutron/files/rocky/ml2_conf.ini
+++ b/neutron/files/rocky/ml2_conf.ini
@@ -262,3 +262,8 @@
# Service. (boolean value)
enable_dhcp_service = {{ server.backend.enable_dhcp_service|default('false') }}
{%- endif %}
+
+{%- if server.get('configmap', {}).ml2 is defined %}
+{%- set _data = server.configmap.ml2 %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/neutron-generic.conf b/neutron/files/rocky/neutron-generic.conf
index 08fa9b4..35c22d5 100644
--- a/neutron/files/rocky/neutron-generic.conf
+++ b/neutron/files/rocky/neutron-generic.conf
@@ -504,3 +504,8 @@
{%- if neutron.backend.ovsdb_connection is defined %}
ovsdb_connection = {{ neutron.backend.ovsdb_connection }}
{%- endif %}
+
+{%- if neutron.get('configmap', {}).neutron_generic is defined %}
+{%- set _data = neutron.configmap.neutron_generic %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/neutron-server.conf b/neutron/files/rocky/neutron-server.conf
index 97ed365..51b99b7 100644
--- a/neutron/files/rocky/neutron-server.conf
+++ b/neutron/files/rocky/neutron-server.conf
@@ -638,3 +638,8 @@
{% if server.sfc is defined -%}
{%- include "neutron/files/" ~ server.version ~ "/plugins/sfc.conf" %}
{% endif %}
+
+{%- if server.get('configmap', {}).neutron_server is defined %}
+{%- set _data = server.configmap.neutron_server %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/openvswitch_agent.ini b/neutron/files/rocky/openvswitch_agent.ini
index 47a199e..957af4c 100644
--- a/neutron/files/rocky/openvswitch_agent.ini
+++ b/neutron/files/rocky/openvswitch_agent.ini
@@ -307,3 +307,8 @@
# Password for connection to XenServer/Xen Cloud Platform. (string value)
#connection_password = <None>
+
+{%- if neutron.get('configmap', {}).openvswitch_agent is defined %}
+{%- set _data = neutron.configmap.openvswitch_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/ovn/metadata-agent.ini b/neutron/files/rocky/ovn/metadata-agent.ini
index 8a65292..3a1e3a1 100644
--- a/neutron/files/rocky/ovn/metadata-agent.ini
+++ b/neutron/files/rocky/ovn/metadata-agent.ini
@@ -95,3 +95,8 @@
[ovn]
ovn_sb_connection = tcp:{{ compute.controller_vip }}:6642
+
+{%- if compute.get('configmap', {}).get('ovn', {}).metadata_agent is defined %}
+{%- set _data = compute.configmap.ovn.metadata_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/neutron/files/rocky/sriov_agent.ini b/neutron/files/rocky/sriov_agent.ini
index 388cec4..6956247 100644
--- a/neutron/files/rocky/sriov_agent.ini
+++ b/neutron/files/rocky/sriov_agent.ini
@@ -57,3 +57,8 @@
[securitygroup]
firewall_driver = noop
{%- endif %}
+
+{%- if neutron.get('configmap', {}).sriov_agent is defined %}
+{%- set _data = neutron.configmap.sriov_agent %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/tests/pillar/control_cluster.sls b/tests/pillar/control_cluster.sls
index e8cf760..7e0628d 100644
--- a/tests/pillar/control_cluster.sls
+++ b/tests/pillar/control_cluster.sls
@@ -79,3 +79,17 @@
enabled: true
strategy: ENCRYPT
secret_key: secret
+ configmap:
+ neutron_server:
+ DEFAULT:
+ max_subnet_host_routes: 30
+ max_routes: 60
+ debug_iptables_rules: True
+ quotas:
+ quota_network: 20
+ quota_subnet: 10
+ quota_port: 100
+ matchmaker_redis:
+ host: 127.0.0.1
+ port: 6379
+ password: pswd
diff --git a/tests/pillar/gateway_legacy.sls b/tests/pillar/gateway_legacy.sls
index 5776d69..aa65179 100644
--- a/tests/pillar/gateway_legacy.sls
+++ b/tests/pillar/gateway_legacy.sls
@@ -28,3 +28,21 @@
agents:
dhcp:
ovs_use_veth: True
+ configmap:
+ metadata_agent:
+ DEFAULT:
+ metadata_workers: 10
+ debug: True
+ agent:
+ report_interval: 30
+ l3_agent:
+ DEFAULT:
+ agent_mode : dvr
+ agent:
+ report_interval: 40
+ dhcp_agent:
+ DEFAULT:
+ ovs_vsctl_timeout: 12
+ resync_interval: 60
+ agent:
+ report_interval: 60