Disable list_extend in config_template

This allow ceilometer pipelines to be fully controlled with config_template.
Previously a ceilometer pipeline would extend a nested list instead of
redefining it which can have undesirable effects. This change disables the
default list_extend property within the config_template allowing a deployer
to fully redefine a given pipeline.

Change-Id: Ibe64254dcbca99b6b720146d2d4f2a25e22236a3
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2016-09-15 21:39:45 -05:00 committed by Jesse Pretorius (odyssey4me)
parent ea89da7feb
commit 0d4b96182b
2 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,10 @@
---
features:
- Yaml files used for ceilometer configuration will now allow a deployer to
override a given list. If an override is provided that matches an already
defined list in one of the ceilometer default yaml files the entire list
will be replaced by the provided override. Previously, a nested lists of
lists within the default ceilometer configration files would extend should
a deployer provide an override matching an existing pipeline. The
extension of the defaults had a high probability to cause undesirable
outcomes and was very unpredictable.

View File

@ -22,6 +22,7 @@
mode: "0644"
config_overrides: "{{ item.config_overrides }}"
config_type: "{{ item.config_type }}"
list_extend: "{{ item.list_extend | default(omit) }}"
with_items:
- src: "ceilometer.conf.j2"
dest: "/etc/ceilometer/ceilometer.conf"
@ -41,26 +42,32 @@
dest: "/etc/ceilometer/event_pipeline.yaml"
config_overrides: "{{ ceilometer_event_pipeline_yaml_overrides }}"
config_type: "yaml"
list_extend: false
- src: "event_definitions.yaml.j2"
dest: "/etc/ceilometer/event_definitions.yaml"
config_overrides: "{{ ceilometer_event_definitions_yaml_overrides }}"
config_type: "yaml"
list_extend: false
- src: "pipeline.yaml.j2"
dest: "/etc/ceilometer/pipeline.yaml"
config_overrides: "{{ ceilometer_pipeline_yaml_overrides }}"
config_type: "yaml"
list_extend: false
- src: "gnocchi_resources.yaml.j2"
dest: "/etc/ceilometer/gnocchi_resources.yaml"
config_overrides: "{{ ceilometer_gnocci_resources_yaml_overrides }}"
config_type: "yaml"
list_extend: false
- src: "osprofiler_event_definitions.yaml.j2"
dest: "/etc/ceilometer/osprofiler_event_definitions.yaml"
config_overrides: "{{ ceilometer_osprofiler_event_definitions_yaml_overrides }}"
config_type: "yaml"
list_extend: false
- src: "loadbalancer_v2_meter_definitions.yaml.j2"
dest: "/etc/ceilometer/loadbalancer_v2_meter_definitions.yaml"
config_overrides: "{{ ceilometer_loadbalancer_v2_meter_definitions_yaml_overrides }}"
config_type: "yaml"
list_extend: false
- src: "policy.json.j2"
dest: "/etc/ceilometer/policy.json"
config_overrides: "{{ ceilometer_policy_overrides }}"