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 }}"