Handle the hardcoded configuration values
This patch allows to customize the hardcoded configuration values,
as well as introduce new configuration options for ceilometer services
by configmap template with the specified section:
ceilometer:
server:
configmap:
DEFAULT:
rate_limit_interval: 0
rate_limit_burst: 0
rate_limit_except_level: CRITICAL
coordination:
max_retry_interval: 30
agent:
configmap:
DEFAULT:
rate_limit_interval: 0
rate_limit_burst: 0
rate_limit_except_level: CRITICAL
coordination:
max_retry_interval: 30
Change-Id: Ifec9bdf7756fd8e77cd960a13b9176aa6f00d268
Related-Prod: PROD-29627
(cherry picked from commit 7478c662b0a41671ebb76af936948d29e1a04482)
diff --git a/README.rst b/README.rst
index ae4d984..1392575 100644
--- a/README.rst
+++ b/README.rst
@@ -388,6 +388,29 @@
- host: 127.0.1.1
- host: 127.0.2.1
+Change default options using configmap template settings
+========================================================
+
+.. code-block:: yaml
+
+ ceilometer:
+ server:
+ configmap:
+ DEFAULT:
+ rate_limit_interval: 0
+ rate_limit_burst: 0
+ rate_limit_except_level: CRITICAL
+ coordination:
+ max_retry_interval: 30
+ agent:
+ configmap:
+ DEFAULT:
+ rate_limit_interval: 0
+ rate_limit_burst: 0
+ rate_limit_except_level: CRITICAL
+ coordination:
+ max_retry_interval: 30
+
More Information
================
diff --git a/ceilometer/files/ocata/ceilometer-agent.conf.Debian b/ceilometer/files/ocata/ceilometer-agent.conf.Debian
index f16eed1..269598e 100644
--- a/ceilometer/files/ocata/ceilometer-agent.conf.Debian
+++ b/ceilometer/files/ocata/ceilometer-agent.conf.Debian
@@ -2203,3 +2203,8 @@
# Password for connection to XenServer/Xen Cloud Platform. (string value)
#connection_password = <None>
+
+{%- if agent.configmap is defined %}
+{%- set _data = agent.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ceilometer/files/ocata/ceilometer-server.conf.Debian b/ceilometer/files/ocata/ceilometer-server.conf.Debian
index c726424..f61ae66 100644
--- a/ceilometer/files/ocata/ceilometer-server.conf.Debian
+++ b/ceilometer/files/ocata/ceilometer-server.conf.Debian
@@ -2295,3 +2295,8 @@
# Password for connection to XenServer/Xen Cloud Platform. (string value)
#connection_password = <None>
+
+{%- if server.configmap is defined %}
+{%- set _data = server.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ceilometer/files/pike/ceilometer-agent.conf.Debian b/ceilometer/files/pike/ceilometer-agent.conf.Debian
index 4030300..7746745 100644
--- a/ceilometer/files/pike/ceilometer-agent.conf.Debian
+++ b/ceilometer/files/pike/ceilometer-agent.conf.Debian
@@ -160,3 +160,8 @@
{%- endif %}
{%- endif %}
+
+{%- if agent.configmap is defined %}
+{%- set _data = agent.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ceilometer/files/pike/ceilometer-server.conf.Debian b/ceilometer/files/pike/ceilometer-server.conf.Debian
index 3ab3626..5a10a7b 100644
--- a/ceilometer/files/pike/ceilometer-server.conf.Debian
+++ b/ceilometer/files/pike/ceilometer-server.conf.Debian
@@ -296,3 +296,8 @@
{%- endif %}
{%- endif %}
+
+{%- if server.configmap is defined %}
+{%- set _data = server.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ceilometer/files/queens/ceilometer-agent.conf.Debian b/ceilometer/files/queens/ceilometer-agent.conf.Debian
index 2282a76..84b5333 100644
--- a/ceilometer/files/queens/ceilometer-agent.conf.Debian
+++ b/ceilometer/files/queens/ceilometer-agent.conf.Debian
@@ -511,3 +511,8 @@
[oslo_messaging_{{ messaging_engine }}]
{%- include "oslo_templates/files/queens/oslo/messaging/_" + messaging_engine + ".conf" %}
{%- endif %}
+
+{%- if agent.configmap is defined %}
+{%- set _data = agent.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/ceilometer/files/queens/ceilometer-server.conf.Debian b/ceilometer/files/queens/ceilometer-server.conf.Debian
index 5054c06..5676d09 100644
--- a/ceilometer/files/queens/ceilometer-server.conf.Debian
+++ b/ceilometer/files/queens/ceilometer-server.conf.Debian
@@ -524,3 +524,8 @@
[oslo_messaging_{{ messaging_engine }}]
{%- include "oslo_templates/files/queens/oslo/messaging/_" + messaging_engine + ".conf" %}
{%- endif %}
+
+{%- if server.configmap is defined %}
+{%- set _data = server.configmap %}
+{%- include "oslo_templates/files/configmap/configmap.conf" %}
+{%- endif %}
diff --git a/tests/pillar/agent_cluster.sls b/tests/pillar/agent_cluster.sls
index 1ba1dfb..95bd8cf 100644
--- a/tests/pillar/agent_cluster.sls
+++ b/tests/pillar/agent_cluster.sls
@@ -52,3 +52,10 @@
ha_queues: true
# Workaround for https://bugs.launchpad.net/ceilometer/+bug/1337715
rpc_thread_pool_size: 5
+ configmap:
+ DEFAULT:
+ rate_limit_interval: 0
+ rate_limit_burst: 0
+ rate_limit_except_level: CRITICAL
+ coordination:
+ max_retry_interval: 30
diff --git a/tests/pillar/agent_single.sls b/tests/pillar/agent_single.sls
index 2b99238..ece82e1 100644
--- a/tests/pillar/agent_single.sls
+++ b/tests/pillar/agent_single.sls
@@ -38,3 +38,10 @@
virtual_host: '/openstack'
# Workaround for https://bugs.launchpad.net/ceilometer/+bug/1337715
rpc_thread_pool_size: 5
+ configmap:
+ DEFAULT:
+ rate_limit_interval: 0
+ rate_limit_burst: 0
+ rate_limit_except_level: CRITICAL
+ coordination:
+ max_retry_interval: 30
diff --git a/tests/pillar/server_cluster.sls b/tests/pillar/server_cluster.sls
index db6ce31..4abb841 100644
--- a/tests/pillar/server_cluster.sls
+++ b/tests/pillar/server_cluster.sls
@@ -79,3 +79,10 @@
policy:
segregation: 'rule:context_is_admin'
'telemetry:get_resource':
+ configmap:
+ DEFAULT:
+ rate_limit_interval: 0
+ rate_limit_burst: 0
+ rate_limit_except_level: CRITICAL
+ coordination:
+ max_retry_interval: 30
diff --git a/tests/pillar/server_single.sls b/tests/pillar/server_single.sls
index 26f5653..7c1942d 100644
--- a/tests/pillar/server_single.sls
+++ b/tests/pillar/server_single.sls
@@ -55,3 +55,10 @@
policy:
segregation: 'rule:context_is_admin'
'telemetry:get_resource':
+ configmap:
+ DEFAULT:
+ rate_limit_interval: 0
+ rate_limit_burst: 0
+ rate_limit_except_level: CRITICAL
+ coordination:
+ max_retry_interval: 30