--- - name: Ensuring config directories exist file: path: "{{ node_config_directory }}/{{ item.key }}" state: "directory" recurse: yes when: - inventory_hostname in groups[item.value.group] - item.value.enabled | bool with_dict: "{{ grafana_services }}" - name: Copying over config.json files template: src: "{{ item.key }}.json.j2" dest: "{{ node_config_directory }}/{{ item.key }}/config.json" register: grafana_config_jsons when: - inventory_hostname in groups[item.value.group] - item.value.enabled | bool with_dict: "{{ grafana_services }}" notify: - Restart grafana container - name: Copying over grafana.ini vars: service_name: "{{ item.key }}" merge_configs: sources: - "{{ role_path }}/templates/grafana.ini.j2" - "{{ node_custom_config }}/{{ item.key }}.ini" - "{{ node_custom_config }}/grafana/{{ inventory_hostname }}/{{ item.key }}.ini" dest: "{{ node_config_directory }}/grafana/grafana.ini" register: grafana_confs when: - inventory_hostname in groups[item.value.group] - item.value.enabled | bool with_dict: "{{ grafana_services }}" notify: - Restart grafana container - name: Check if custom grafana home dashboard exists local_action: "stat path={{ node_custom_config }}/grafana/grafana_home_dashboard.json" register: grafana_custom_dashboard_file run_once: True - name: Copying over grafana home dashboard if exists template: src: "{{ node_custom_config }}/grafana/grafana_home_dashboard.json" dest: "{{ node_config_directory }}/grafana/grafana_home_dashboard.json" register: grafana_home_dashboard when: grafana_custom_dashboard_file.stat.exists notify: - Restart grafana container - name: Check grafana containers kolla_docker: action: "compare_container" common_options: "{{ docker_common_options }}" name: "{{ item.value.container_name }}" image: "{{ item.value.image }}" volumes: "{{ item.value.volumes }}" register: check_grafana_containers when: - action != "config" - inventory_hostname in groups[item.value.group] - item.value.enabled | bool with_dict: "{{ grafana_services }}" notify: - Restart grafana container