From cda89b5a7f6df5d0653520e0e946cce4d0f4a865 Mon Sep 17 00:00:00 2001 From: Itay Matza Date: Mon, 31 Aug 2026 12:14:39 +0300 Subject: [PATCH 1/2] Fix Swift registry check using wrong separator in object name search The JSON-output migration in commit 1540a56 changed the Swift object search from grep (where '.' matches any character including '/') to jq contains() (where '.' is a literal dot). This caused the search target 'swift-check-NNNN.fooapp' to never match the actual Swift object paths which use '/' as separator: files/docker/registry/v2/repositories/swift-check-NNNN/fooapp/... Change the target separator from '.' to '/' to match the actual object name structure in Swift. Verified on live environment: old pattern matched 0 objects, new pattern correctly matches 7 objects. Fixes regression from 1540a56 (Harden verification OpenStack CLI calls to use JSON output). Assisted-By: Claude Code Signed-off-by: Itay Matza --- collection/stages/roles/verification/tasks/check_registry.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collection/stages/roles/verification/tasks/check_registry.yml b/collection/stages/roles/verification/tasks/check_registry.yml index f1f32f4a..f223c51d 100644 --- a/collection/stages/roles/verification/tasks/check_registry.yml +++ b/collection/stages/roles/verification/tasks/check_registry.yml @@ -111,7 +111,7 @@ - name: Get the images objects in swift for the {{ swift_check_ns }} namespace from the containers ansible.builtin.shell: | set -o pipefail - target="{{ swift_check_ns }}.{{ swift_check_image }}" + target="{{ swift_check_ns }}/{{ swift_check_image }}" openstack container list -f json \ | jq -r '.[] | (.Name // .name // empty)' \ | while read -r container; do From cb725cbc38c291965799603c326f2bbb281436e0 Mon Sep 17 00:00:00 2001 From: Itay Matza Date: Sat, 5 Sep 2026 19:25:44 +0300 Subject: [PATCH 2/2] Skip Manila verification when catalog JSON is empty. OSPRH-34580 openstack catalog show manila -f json exits 0 with "{}" when the service is absent, so checking rc alone still runs check_manila.yml on 17.1 clouds without share. Co-authored-by: Cursor Change-Id: I7c013aa3ac8eca9045468d792d24ac2feed878a6 --- collection/stages/roles/verification/tasks/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/collection/stages/roles/verification/tasks/main.yml b/collection/stages/roles/verification/tasks/main.yml index 394f8120..9916d645 100644 --- a/collection/stages/roles/verification/tasks/main.yml +++ b/collection/stages/roles/verification/tasks/main.yml @@ -133,7 +133,9 @@ when: - not _skip_health - installation_type != 'upi' - - manila_enabled.rc == 0 + # catalog show -f json returns rc=0 and "{}" when the service is missing + # (PR #32). Ansible when lists are not short-circuit; default empty JSON. + - manila_enabled.rc == 0 and ((manila_enabled.stdout | default('{}', true) | from_json | length) > 0) - ceph_nfs_ready|default(true)|bool - edge_nova_az is not defined # Skip due to Openstack Manila is not supported at the Edge - not openshift_proxy_installation|default(false)|bool