Clark Boylan 9313c8e879 Fix docker wait requires at least one argument
In the graceful shutdown for mergers and executors if we skip the docker
exec to stop the container we also need to skip the docker wait. The
reason for this is docker wait exits with an error code if not provided
with any arguments to wait for.

Change-Id: Id09666ee23e1a9599d477b63a89559e4ab1d21bf
2022-09-07 15:17:10 -07:00

30 lines
892 B
YAML

- name: Check if Zuul merger containers are running
# It is possible they are stopped due to some external circumstance
command:
cmd: docker-compose ps -q
chdir: /etc/zuul-merger
become: true
become_user: root
register: merger_container_list
- name: Gracefully stop Zuul Merger
shell:
cmd: docker-compose exec merger zuul-merger stop
chdir: /etc/zuul-merger
become: true
become_user: root
# Only run the docker exec command if a container is running
when: merger_container_list.stdout_lines | length > 0
- name: Wait for Zuul Merger to stop
shell:
cmd: docker-compose ps -q | xargs docker wait
chdir: /etc/zuul-merger
become: true
become_user: root
when: merger_container_list.stdout_lines | length > 0
- name: Down Zuul Merger containers
shell:
cmd: docker-compose down
chdir: /etc/zuul-merger
become: true
become_user: root