Merge "Handle the hardcoded configuration values"
diff --git a/README.rst b/README.rst
index b48e194..2ef3f49 100644
--- a/README.rst
+++ b/README.rst
@@ -1649,6 +1649,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