wuchunyang 04b970ca08 Use Docker healthchecks for zun services
This change enables the use of Docker healthchecks for zun
services.
Implements: blueprint container-health-check

Change-Id: I32ffa9754820098bb4d3325b25fc7a1a624507d5
2021-03-10 23:24:20 +08:00

89 lines
3.0 KiB
YAML

---
- name: Restart zun-api container
vars:
service_name: "zun-api"
service: "{{ zun_services[service_name] }}"
become: true
kolla_docker:
action: "recreate_or_restart_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
privileged: "{{ service.privileged | default(False) }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
listen:
- zun-api container changed
when:
- kolla_action != "config"
- name: Restart zun-wsproxy container
vars:
service_name: "zun-wsproxy"
service: "{{ zun_services[service_name] }}"
become: true
kolla_docker:
action: "recreate_or_restart_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
privileged: "{{ service.privileged | default(False) }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
listen:
- zun-wsproxy container changed
when:
- kolla_action != "config"
- name: Restart zun-compute container
vars:
service_name: "zun-compute"
service: "{{ zun_services[service_name] }}"
become: true
kolla_docker:
action: "recreate_or_restart_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
privileged: "{{ service.privileged | default(False) }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
listen:
- zun-compute container changed
when:
- kolla_action != "config"
- name: Restart zun-cni-daemon container
vars:
service_name: "zun-cni-daemon"
service: "{{ zun_services[service_name] }}"
become: true
kolla_docker:
action: "recreate_or_restart_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
image: "{{ service.image }}"
privileged: "{{ service.privileged | default(False) }}"
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
listen:
- zun-cni-daemon container changed
when:
- kolla_action != "config"
- name: Copy loopback binary from zun-cni-daemon container to host
vars:
service_name: "zun-cni-daemon"
service: "{{ zun_services[service_name] }}"
become: true
command: "docker cp {{ service.container_name }}:/opt/loopback /opt/cni/bin/"
# NOTE(yoctozepto): it would be cleaner to listen only on image change
# but there is no such mechanism (yet) and container change should be
# good enough (better than including config change triggers)
listen:
- zun-cni-daemon container changed