---
- name: Restart first grafana container
  listen: Restart grafana container
  vars:
    service_name: "grafana"
    service: "{{ grafana_services[service_name] }}"
  become: true
  kolla_docker:
    action: "recreate_or_restart_container"
    common_options: "{{ docker_common_options }}"
    name: "{{ service.container_name }}"
    image: "{{ service.image }}"
    volumes: "{{ service.volumes }}"
    dimensions: "{{ service.dimensions }}"
  when:
    - kolla_action != "config"
    - inventory_hostname == groups[service.group] | first

- name: Waiting for grafana to start on first node
  listen: Restart grafana container
  vars:
    service_name: "grafana"
    service: "{{ grafana_services[service_name] }}"
  become: true
  kolla_toolbox:
    container_engine: "{{ kolla_container_engine }}"
    module_name: uri
    module_args:
      url: "http://{{ api_interface_address | put_address_in_context('url') }}:{{ grafana_server_port }}/login"
      status_code: 200
  register: result
  until: result.get('status') == 200
  retries: "{{ grafana_start_first_node_retries }}"
  delay: "{{ grafana_start_first_node_delay }}"
  when:
    - kolla_action != "config"
    - inventory_hostname == groups[service.group] | first

- name: Restart remaining grafana containers
  listen: Restart grafana container
  vars:
    service_name: "grafana"
    service: "{{ grafana_services[service_name] }}"
  become: true
  kolla_docker:
    action: "recreate_or_restart_container"
    common_options: "{{ docker_common_options }}"
    name: "{{ service.container_name }}"
    image: "{{ service.image }}"
    volumes: "{{ service.volumes }}"
    dimensions: "{{ service.dimensions }}"
  when:
    - kolla_action != "config"
    - inventory_hostname != groups[service.group] | first
