From 0d4b96182bbaac4a79b1e0928898f6a4cf733920 Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Thu, 15 Sep 2016 21:39:45 -0500 Subject: [PATCH] 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 --- .../notes/disable-list-extend-3a9547de9034f9ba.yaml | 10 ++++++++++ tasks/ceilometer_post_install.yml | 7 +++++++ 2 files changed, 17 insertions(+) create mode 100644 releasenotes/notes/disable-list-extend-3a9547de9034f9ba.yaml diff --git a/releasenotes/notes/disable-list-extend-3a9547de9034f9ba.yaml b/releasenotes/notes/disable-list-extend-3a9547de9034f9ba.yaml new file mode 100644 index 00000000..5d414c54 --- /dev/null +++ b/releasenotes/notes/disable-list-extend-3a9547de9034f9ba.yaml @@ -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. diff --git a/tasks/ceilometer_post_install.yml b/tasks/ceilometer_post_install.yml index fe5925cb..d189d1d9 100644 --- a/tasks/ceilometer_post_install.yml +++ b/tasks/ceilometer_post_install.yml @@ -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 }}"