
This fixes an issue where multiple Grafana instances would race to bootstrap the Grafana DB. The following changes are made: - Only start additional Grafana instances after the DB has been configured. - During upgrade, don't allow old instances to run with an upgraded DB schema. Change-Id: I3e0e077ba6a6f43667df042eb593107418a06c39 Closes-Bug: #1888681
32 lines
954 B
YAML
32 lines
954 B
YAML
---
|
|
- name: Checking if Grafana container needs upgrading
|
|
vars:
|
|
service_name: "grafana"
|
|
service: "{{ grafana_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "compare_image"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ project_name }}"
|
|
image: "{{ grafana_image_full }}"
|
|
when: inventory_hostname in groups['grafana']
|
|
register: grafana_differs
|
|
|
|
- include_tasks: config.yml
|
|
|
|
# NOTE(dszumski): We don't want old Grafana instances running after
|
|
# a new instance has updated the DB schema. Since the first instance
|
|
# is upgraded first, we stop all the other ones.
|
|
- name: Stopping all Grafana instances but the first node
|
|
become: true
|
|
kolla_docker:
|
|
action: "stop_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ project_name }}"
|
|
when:
|
|
- inventory_hostname != groups['grafana']|first
|
|
- grafana_differs['result']
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|