
The previous code had attempted to handle the case where the container isn't running and we exec a zuul graceful stop in the container. Unfortunately I got the string to check for wrong. I think I must've checked the `docker exec` output and not the `docker-compose exec` output. This change updates the string to match exactly what ansible complained about: TASK [zuul-merger : Gracefully stop Zuul Merger] ******************************* fatal: [zm05.opendev.org]: FAILED! => { "changed": true, "cmd": "docker-compose exec merger zuul-merger stop", "delta": "0:00:00.573561", "end": "2022-09-14 01:59:41.721044", "failed_when_result": true, "rc": 1, "start": "2022-09-14 01:59:41.147483" } STDERR: No container found for merger_1 MSG: non-zero return code Specifically we check for 'No container found' in stderr. Change-Id: I737b9da14c210215926804816d1e032540d694dc
36 lines
1.2 KiB
YAML
36 lines
1.2 KiB
YAML
- name: Check if Zuul Executor containers are running
|
|
# It is possible they are stopped due to some external circumstance.
|
|
# NOTE: docker-compose ps -q reports exited containers unlike docker ps -q
|
|
command:
|
|
cmd: docker-compose ps -q
|
|
chdir: /etc/zuul-executor
|
|
become: true
|
|
become_user: root
|
|
register: executor_container_list
|
|
- name: Gracefully stop Zuul Executor
|
|
shell:
|
|
cmd: docker-compose exec executor zuul-executor graceful
|
|
chdir: /etc/zuul-executor
|
|
become: true
|
|
become_user: root
|
|
# Only run the docker exec command if a container is running
|
|
when: executor_container_list.stdout_lines | length > 0
|
|
register: ze_graceful
|
|
failed_when:
|
|
- ze_graceful.rc != 0
|
|
# If the exec fails because the container is not running we continue.
|
|
- "'No container found' not in ze_graceful.stderr"
|
|
- name: Wait for Zuul Executor to stop
|
|
shell:
|
|
cmd: docker-compose ps -q | xargs docker wait
|
|
chdir: /etc/zuul-executor
|
|
become: true
|
|
become_user: root
|
|
when: executor_container_list.stdout_lines | length > 0
|
|
- name: Remove Zuul Executor containers
|
|
shell:
|
|
cmd: docker-compose down
|
|
chdir: /etc/zuul-executor
|
|
become: true
|
|
become_user: root
|