Refactor docker-compose/core and Discourse reset logic

- Move docker-container role loading after directory creation in docker-compose/01_core.yml
- Extend allowed non-fatal errors for docker network disconnect (network missing, container missing, not found)
- Extend allowed non-fatal errors for ./launcher destroy (missing script, missing directory, not found)

Details: https://chatgpt.com/share/692ea63e-7738-800f-bdf1-011e96dc28e5
This commit is contained in:
2025-12-02 09:41:49 +01:00
parent 8314d7e6a6
commit 13b10ff85b
2 changed files with 11 additions and 7 deletions

View File

@@ -9,11 +9,6 @@
include_tasks: 02_reset.yml
when: MODE_RESET | bool
- name: "Load docker container role"
include_role:
name: docker-container
when: run_once_docker_container is not defined
- name: "create {{ PATH_DOCKER_COMPOSE_INSTANCES }}"
file:
path: "{{ PATH_DOCKER_COMPOSE_INSTANCES }}"
@@ -21,3 +16,8 @@
mode: 0700
owner: root
group: root
- name: "Load docker container role"
include_role:
name: docker-container
when: run_once_docker_container is not defined

View File

@@ -33,7 +33,8 @@
disc_net_disconnect.rc != 0 and
('is not connected' not in (disc_net_disconnect.stderr | default('') | lower)) and
('no such network' not in (disc_net_disconnect.stderr | default('') | lower)) and
('no such container' not in (disc_net_disconnect.stderr | default('') | lower))
('no such container' not in (disc_net_disconnect.stderr | default('') | lower)) and
('not found' not in (disc_net_disconnect.stderr | default('') | lower))
- name: "destroy container '{{ DISCOURSE_CONTAINER }}'"
ansible.builtin.command:
@@ -43,4 +44,7 @@
changed_when: discourse_destroy.rc == 0
failed_when: >
discourse_destroy.rc != 0 and
('unable to change directory before execution' not in (discourse_destroy.msg | default('') | lower))
('unable to change directory before execution' not in (discourse_destroy.msg | default('') | lower)) and
('no such file or directory' not in (discourse_destroy.msg | default('') | lower)) and
('no such file or directory' not in (discourse_destroy.stderr | default('') | lower)) and
('not found' not in (discourse_destroy.stderr | default('') | lower))