diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index 663720adf6c342edffb37cf4250d32bbc3169e26..cc34cfc78b1a56d8414005230b8ac5ad1e4b3bc1 100644 --- a/ansible/roles/cloudkitty/defaults/main.yml +++ b/ansible/roles/cloudkitty/defaults/main.yml @@ -90,3 +90,4 @@ cloudkitty_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}" cloudkitty_dev_repos_pull: "{{ kolla_dev_repos_pull }}" cloudkitty_dev_mode: "{{ kolla_dev_mode }}" cloudkitty_source_version: "{{ kolla_source_version }}" +cloudkitty_custom_metrics_yaml_file: "metrics.yml" diff --git a/ansible/roles/cloudkitty/tasks/config.yml b/ansible/roles/cloudkitty/tasks/config.yml index 6a4200f901fe0c8e19c16db5856a1b45a98aa624..7758f0635298ba61d16ea98bdd8bc742da2dc1e4 100644 --- a/ansible/roles/cloudkitty/tasks/config.yml +++ b/ansible/roles/cloudkitty/tasks/config.yml @@ -29,6 +29,28 @@ when: - cloudkitty_policy.results +- name: Check if custom {{ cloudkitty_custom_metrics_yaml_file }} exists + local_action: stat path="{{ node_custom_config }}/cloudkitty/{{ cloudkitty_custom_metrics_yaml_file }}" + register: cloudkitty_custom_metrics_file + +- name: Copying {{ cloudkitty_custom_metrics_yaml_file }} if it exists + copy: + src: "{{ node_custom_config }}/cloudkitty/{{ cloudkitty_custom_metrics_yaml_file }}" + dest: "{{ node_config_directory }}/{{ item.key }}/{{ cloudkitty_custom_metrics_yaml_file }}" + mode: "0660" + become: true + when: + - cloudkitty_custom_metrics_file.stat.exists + - inventory_hostname in groups[item.value.group] + - item.value.enabled | bool + with_dict: "{{ cloudkitty_services }}" + notify: + - "Restart {{ item.key }} container" + +- name: Are we using {{ cloudkitty_custom_metrics_yaml_file }}? + set_fact: + cloudkitty_custom_metrics_used: "{{ cloudkitty_custom_metrics_file.stat.exists }}" + - name: Copying over config.json files for services template: src: "{{ item.key }}.json.j2" diff --git a/ansible/roles/cloudkitty/templates/cloudkitty-api.json.j2 b/ansible/roles/cloudkitty/templates/cloudkitty-api.json.j2 index f31a43b9dad36823c1c9c35227233c1cd0dacffa..29b67738c0888cc60e0fc622c336cb9af333c157 100644 --- a/ansible/roles/cloudkitty/templates/cloudkitty-api.json.j2 +++ b/ansible/roles/cloudkitty/templates/cloudkitty-api.json.j2 @@ -20,6 +20,12 @@ "dest": "/etc/cloudkitty/{{ cloudkitty_policy_file }}", "owner": "cloudkitty", "perm": "0600" + }{% endif %}{% if cloudkitty_custom_metrics_used %}, + { + "source": "{{ container_config_directory }}/{{ cloudkitty_custom_metrics_yaml_file }}", + "dest": "/etc/cloudkitty/{{ cloudkitty_custom_metrics_yaml_file }}", + "owner": "cloudkitty", + "perm": "0600" }{% endif %} ], "permissions": [ diff --git a/ansible/roles/cloudkitty/templates/cloudkitty-processor.json.j2 b/ansible/roles/cloudkitty/templates/cloudkitty-processor.json.j2 index 7d57ae041ea38096dddb9af2dd84a5204db119ef..4cd1041e08ac64786ddc733797f49e765ff4386c 100644 --- a/ansible/roles/cloudkitty/templates/cloudkitty-processor.json.j2 +++ b/ansible/roles/cloudkitty/templates/cloudkitty-processor.json.j2 @@ -12,6 +12,12 @@ "dest": "/etc/cloudkitty/{{ cloudkitty_policy_file }}", "owner": "cloudkitty", "perm": "0600" + }{% endif %}{% if cloudkitty_custom_metrics_used %}, + { + "source": "{{ container_config_directory }}/{{ cloudkitty_custom_metrics_yaml_file }}", + "dest": "/etc/cloudkitty/{{ cloudkitty_custom_metrics_yaml_file }}", + "owner": "cloudkitty", + "perm": "0600" }{% endif %} ], "permissions": [ diff --git a/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 b/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 index a25dc0a606f84da82f575849a0894765b3d04771..a80f00e852b226fee5106f415e5f1ab6e1bd9a76 100644 --- a/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 +++ b/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 @@ -40,6 +40,9 @@ policy_file = {{ cloudkitty_policy_file }} [collect] collector = {{ cloudkitty_collector_backend }} services = compute,image{% if enable_cinder | bool %},volume{% endif %},network.bw.out,network.bw.in,network.floating +{% if cloudkitty_custom_metrics_used %} +metrics_conf = /etc/cloudkitty/{{ cloudkitty_custom_metrics_yaml_file }} +{% endif %} [keystone_fetcher] keystone_version = 3