aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/service-check-containers/tasks/iterated.yml
blob: fcbe77eef92f26af9eb2de188df32419ed16dde6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
- name: "Check containers with iteration for {{ kolla_role_name | default(project_name) }}"
  become: true
  vars:
    service: "{{ outer_item.value }}"
  kolla_container:
    action: "compare_container"
    common_options: "{{ docker_common_options }}"
    name: "{{ service.container_name }}"
    image: "{{ service.image | default(omit) }}"
    volumes: "{{ service.volumes | default(omit) }}"
    dimensions: "{{ service.dimensions | default(omit) }}"
    tmpfs: "{{ service.tmpfs | default(omit) }}"
    volumes_from: "{{ service.volumes_from | default(omit) }}"
    privileged: "{{ service.privileged | default(omit) }}"
    cap_add: "{{ service.cap_add | default(omit) }}"
    environment: "{{ service.environment | default(omit) }}"
    healthcheck: "{{ service.healthcheck | default(omit) }}"
    ipc_mode: "{{ service.ipc_mode | default(omit) }}"
    pid_mode: "{{ service.pid_mode | default(omit) }}"
    security_opt: "{{ service.security_opt | default(omit) }}"
    labels: "{{ service.labels | default(omit) }}"
    command: "{{ service.command | default(omit) }}"
    cgroupns_mode: "{{ service.cgroupns_mode | default(omit) }}"
  loop:
    - "{{ range(1, (service.iterate_var | int) + 1) | list }}"
  register: container_check

# NOTE(yoctozepto): Must be a separate task because one cannot see the whole
# result in the previous task and Ansible has a quirk regarding notifiers.
# For details see https://github.com/ansible/ansible/issues/22579
- name: "Notify handlers to restart containers for {{ kolla_role_name | default(project_name) }}"
  debug:
    msg: Notifying handlers
  changed_when: container_check is changed
  notify: "Restart {{ outer_item.key }} container"