Add ability to override meters.yaml and event_definitions.yaml
This change will allow deployer to override meters.yaml and event_definitions.yaml files, if he would like to change layout/data, which will be stored in gnocchi, and the way it will be updated/stored. Change-Id: I6bfe03dc1f5ad795d91534b1a51c4d8889bb3ed1
This commit is contained in:
parent
8ba1f3829b
commit
508f077c61
|
@ -288,6 +288,8 @@ ceilometer_role_project_group: ceilometer_all
|
|||
# template engine and copied to the target host. If they do
|
||||
# not exist then the default files will be sourced from the
|
||||
# service git repository.
|
||||
ceilometer_data_meters_default_file_path: "/etc/openstack_deploy/ceilometer/meters.yaml"
|
||||
ceilometer_event_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/event_definitions.yaml"
|
||||
ceilometer_gnocchi_resources_default_file_path: "/etc/openstack_deploy/ceilometer/gnocchi_resources.yaml"
|
||||
ceilometer_loadbalancer_v2_meter_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/loadbalancer_v2_meter_definitions.yaml"
|
||||
ceilometer_osprofiler_event_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/osprofiler_event_definitions.yaml"
|
||||
|
@ -297,6 +299,8 @@ ceilometer_polling_default_file_path: "/etc/openstack_deploy/ceilometer/polling.
|
|||
# paths will be used to find the files from the git config
|
||||
# lookup location.
|
||||
ceilometer_git_config_lookup_location: https://git.openstack.org/cgit/openstack/ceilometer/plain
|
||||
ceilometer_data_meters_git_file_path: "ceilometer/data/meters.d/meters.yaml?h={{ ceilometer_git_install_branch }}"
|
||||
ceilometer_event_definitions_git_file_path: "ceilometer/pipeline/data/event_definitions.yaml?h={{ ceilometer_git_install_branch }}"
|
||||
ceilometer_gnocchi_resources_git_file_path: "ceilometer/publisher/data/gnocchi_resources.yaml?h={{ ceilometer_git_install_branch }}"
|
||||
ceilometer_loadbalancer_v2_meter_definitions_git_file_path: "etc/ceilometer/examples/loadbalancer_v2_meter_definitions.yaml?h={{ ceilometer_git_install_branch }}"
|
||||
ceilometer_osprofiler_event_definitions_git_file_path: "etc/ceilometer/examples/osprofiler_event_definitions.yaml?h={{ ceilometer_git_install_branch }}"
|
||||
|
@ -305,6 +309,8 @@ ceilometer_polling_git_file_path: "etc/ceilometer/polling.yaml?h={{ ceilometer_g
|
|||
## Tunable var-based overrides
|
||||
# The contents of these are templated over the default files.
|
||||
ceilometer_ceilometer_conf_overrides: {}
|
||||
ceilometer_data_meters_yaml_overrides: {}
|
||||
ceilometer_event_definitions_yaml_overrides: {}
|
||||
ceilometer_gnocchi_resources_yaml_overrides: {}
|
||||
ceilometer_loadbalancer_v2_meter_definitions_yaml_overrides: {}
|
||||
ceilometer_osprofiler_event_definitions_yaml_overrides: {}
|
||||
|
|
|
@ -18,10 +18,12 @@
|
|||
url: "{{ item }}"
|
||||
return_content: yes
|
||||
with_items:
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_data_meters_git_file_path }}"
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_event_definitions_git_file_path }}"
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_gnocchi_resources_git_file_path }}"
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_loadbalancer_v2_meter_definitions_git_file_path }}"
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_osprofiler_event_definitions_git_file_path }}"
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_polling_git_file_path }}"
|
||||
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_gnocchi_resources_git_file_path }}"
|
||||
register: _git_file_fetch
|
||||
|
||||
- name: Copy ceilometer configuration files
|
||||
|
@ -66,6 +68,16 @@
|
|||
config_type: "yaml"
|
||||
list_extend: false
|
||||
content: "{{ ceilometer_polling_user_content | default(ceilometer_polling_default_content, true) }}"
|
||||
- dest: "{{ ceilometer_lib_dir }}/ceilometer/data/meters.d/meters.yaml"
|
||||
config_overrides: "{{ ceilometer_data_meters_yaml_overrides }}"
|
||||
config_type: "yaml"
|
||||
list_extend: false
|
||||
content: "{{ ceilometer_data_meters_user_content | default(ceilometer_data_meters_default_content, true) }}"
|
||||
- dest: "{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/event_definitions.yaml"
|
||||
config_overrides: "{{ ceilometer_event_definitions_yaml_overrides }}"
|
||||
config_type: "yaml"
|
||||
list_extend: false
|
||||
content: "{{ ceilometer_event_definitions_user_content | default(ceilometer_event_definitions_default_content, true) }}"
|
||||
- dest: "{{ ceilometer_lib_dir }}/ceilometer/publisher/data/gnocchi_resources.yaml"
|
||||
config_overrides: "{{ ceilometer_gnocchi_resources_yaml_overrides }}"
|
||||
config_type: "yaml"
|
||||
|
|
|
@ -14,12 +14,18 @@
|
|||
# limitations under the License.
|
||||
|
||||
# These vars find a file on the deployment node, if it exists - otherwise the result is empty.
|
||||
ceilometer_data_meters_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_data_meters_default_file_path ~ ' 2>/dev/null || true') }}"
|
||||
ceilometer_event_definitions_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_event_definitions_default_file_path ~ ' 2>/dev/null || true') }}"
|
||||
ceilometer_gnocchi_resources_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_gnocchi_resources_default_file_path ~ ' 2>/dev/null || true') }}"
|
||||
ceilometer_loadbalancer_v2_meter_definitions_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_loadbalancer_v2_meter_definitions_default_file_path ~ ' 2>/dev/null || true') }}"
|
||||
ceilometer_osprofiler_event_definitions_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_osprofiler_event_definitions_default_file_path ~ ' 2>/dev/null || true') }}"
|
||||
ceilometer_polling_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_polling_default_file_path ~ ' 2>/dev/null || true') }}"
|
||||
|
||||
# These vars find the appropriate result content from the with_items loop
|
||||
ceilometer_data_meters_default_content: |
|
||||
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_data_meters_git_file_path) | map(attribute='content') | first }}
|
||||
ceilometer_event_definitions_default_content: |
|
||||
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_event_definitions_git_file_path) | map(attribute='content') | first }}
|
||||
ceilometer_gnocchi_resources_default_content: |
|
||||
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_gnocchi_resources_git_file_path) | map(attribute='content') | first }}
|
||||
ceilometer_loadbalancer_v2_meter_definitions_default_content: |
|
||||
|
|
Loading…
Reference in New Issue