From a6ba61f46282b12ff04d1dd5190595f1216c4693 Mon Sep 17 00:00:00 2001 From: Pierre Riteau <pierre@stackhpc.com> Date: Mon, 6 Jan 2025 15:33:22 +0100 Subject: [PATCH] Use kayobe_container only when service is enabled The overcloud-extras playbook called during overcloud service deploy would always invoke the kayobe_container module, even when the service (inspection_store or opensm) was disabled. With podman, this has the side effect of attempting to pull the image from the registry, even when `state` is `absent`. Change behaviour to invoke kayobe_container only when the service is enabled. This means that a manual container removal is necessary now to disable these services. Change-Id: Id3ebd6836ba8f3b2101b94637a89f97fb0eb59e1 --- ansible/roles/inspection-store/tasks/start.yml | 3 ++- ansible/roles/opensm/tasks/deploy.yml | 3 ++- .../overcloud-extras-service-absent-2e8a01e1c31f038b.yaml | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/overcloud-extras-service-absent-2e8a01e1c31f038b.yaml diff --git a/ansible/roles/inspection-store/tasks/start.yml b/ansible/roles/inspection-store/tasks/start.yml index e5565ab8e..0bd7cb6ad 100644 --- a/ansible/roles/inspection-store/tasks/start.yml +++ b/ansible/roles/inspection-store/tasks/start.yml @@ -8,9 +8,10 @@ read_only: "{{ item.value.read_only | default(omit) }}" restart_policy: "{{ inspection_store_restart_policy }}" restart_retries: "{{ inspection_store_restart_retries | default(omit) }}" - state: "{{ item.value.enabled | ternary('started', 'absent') }}" + state: started volumes: "{{ item.value.volumes }}" network_mode: "{{ item.value.network_mode | default(omit) }}" with_dict: "{{ inspection_store_services }}" notify: - Ensure inspection store data directory exists + when: item.value.enabled | bool diff --git a/ansible/roles/opensm/tasks/deploy.yml b/ansible/roles/opensm/tasks/deploy.yml index d471e96dc..eebd9c2de 100644 --- a/ansible/roles/opensm/tasks/deploy.yml +++ b/ansible/roles/opensm/tasks/deploy.yml @@ -8,6 +8,7 @@ read_only: "{{ item.value.read_only | default(omit) }}" restart_policy: "{{ opensm_restart_policy }}" restart_retries: "{{ opensm_restart_retries | default(omit) }}" - state: "{{ item.value.enabled | ternary('started', 'absent') }}" + state: started volumes: "{{ item.value.volumes }}" with_dict: "{{ opensm_services }}" + when: item.value.enabled | bool diff --git a/releasenotes/notes/overcloud-extras-service-absent-2e8a01e1c31f038b.yaml b/releasenotes/notes/overcloud-extras-service-absent-2e8a01e1c31f038b.yaml new file mode 100644 index 000000000..3ef7c7d90 --- /dev/null +++ b/releasenotes/notes/overcloud-extras-service-absent-2e8a01e1c31f038b.yaml @@ -0,0 +1,7 @@ +--- +upgrade: + - | + Stops automatically removing the ``inspection_store`` and ``opensm`` + containers when they become disabled in Kayobe configuration. Manual + container removal is now necessary, except in the case of a full service + destroy.