
Including tasks has a performance penalty when compared with importing tasks. If the include has a condition associated with it, then the overhead of the include may be lower than the overhead of skipping all imported tasks. In the case of the register.yml and bootstrap.yml includes, all of the tasks in the included file use run_once: True. The run_once flag improves performance at scale drastically, so importing these tasks unconditionally will have a lower overhead than a conditional include task. It therefore makes sense to switch to use import_tasks there. See [1] for benchmarks of run_once. [1] https://github.com/stackhpc/ansible-scaling/blob/master/doc/run-once.md Change-Id: Ic67631ca3ea3fb2081a6f8978e85b1522522d40d Partially-Implements: blueprint performance-improvements
39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
---
|
|
- name: Checking if Monasca Grafana container needs upgrading
|
|
vars:
|
|
service_name: "monasca-grafana"
|
|
service: "{{ monasca_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "compare_image"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ project_name }}"
|
|
image: "{{ monasca_grafana_image_full }}"
|
|
when: inventory_hostname in groups['monasca-grafana']
|
|
register: monasca_grafana_differs
|
|
|
|
- import_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 Monasca Grafana instances but the first node
|
|
vars:
|
|
service_name: "monasca-grafana"
|
|
service: "{{ monasca_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "stop_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
when:
|
|
- inventory_hostname != groups['monasca-grafana']|first
|
|
- monasca_grafana_differs['result']
|
|
|
|
- import_tasks: register.yml
|
|
|
|
- import_tasks: bootstrap_service.yml
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|