2025-11-28 12:02:25,780 p=30918 u=zuul n=ansible | Starting galaxy collection install process 2025-11-28 12:02:25,781 p=30918 u=zuul n=ansible | Process install dependency map 2025-11-28 12:02:40,132 p=30918 u=zuul n=ansible | Starting collection install process 2025-11-28 12:02:40,132 p=30918 u=zuul n=ansible | Installing 'cifmw.general:1.0.0+ab9ad21d' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general' 2025-11-28 12:02:40,614 p=30918 u=zuul n=ansible | Created collection for cifmw.general:1.0.0+ab9ad21d at /home/zuul/.ansible/collections/ansible_collections/cifmw/general 2025-11-28 12:02:40,614 p=30918 u=zuul n=ansible | cifmw.general:1.0.0+ab9ad21d was installed successfully 2025-11-28 12:02:40,614 p=30918 u=zuul n=ansible | Installing 'containers.podman:1.16.2' to '/home/zuul/.ansible/collections/ansible_collections/containers/podman' 2025-11-28 12:02:40,670 p=30918 u=zuul n=ansible | Created collection for containers.podman:1.16.2 at /home/zuul/.ansible/collections/ansible_collections/containers/podman 2025-11-28 12:02:40,670 p=30918 u=zuul n=ansible | containers.podman:1.16.2 was installed successfully 2025-11-28 12:02:40,670 p=30918 u=zuul n=ansible | Installing 'community.general:10.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general' 2025-11-28 12:02:41,380 p=30918 u=zuul n=ansible | Created collection for community.general:10.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general 2025-11-28 12:02:41,380 p=30918 u=zuul n=ansible | community.general:10.0.1 was installed successfully 2025-11-28 12:02:41,381 p=30918 u=zuul n=ansible | Installing 'ansible.posix:1.6.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix' 2025-11-28 12:02:41,428 p=30918 u=zuul n=ansible | Created collection for ansible.posix:1.6.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix 2025-11-28 12:02:41,429 p=30918 u=zuul n=ansible | ansible.posix:1.6.2 was installed successfully 2025-11-28 12:02:41,429 p=30918 u=zuul n=ansible | Installing 'ansible.utils:5.1.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils' 2025-11-28 12:02:41,526 p=30918 u=zuul n=ansible | Created collection for ansible.utils:5.1.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils 2025-11-28 12:02:41,526 p=30918 u=zuul n=ansible | ansible.utils:5.1.2 was installed successfully 2025-11-28 12:02:41,526 p=30918 u=zuul n=ansible | Installing 'community.libvirt:1.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/libvirt' 2025-11-28 12:02:41,549 p=30918 u=zuul n=ansible | Created collection for community.libvirt:1.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/libvirt 2025-11-28 12:02:41,549 p=30918 u=zuul n=ansible | community.libvirt:1.3.0 was installed successfully 2025-11-28 12:02:41,549 p=30918 u=zuul n=ansible | Installing 'community.crypto:2.22.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto' 2025-11-28 12:02:41,688 p=30918 u=zuul n=ansible | Created collection for community.crypto:2.22.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto 2025-11-28 12:02:41,688 p=30918 u=zuul n=ansible | community.crypto:2.22.3 was installed successfully 2025-11-28 12:02:41,688 p=30918 u=zuul n=ansible | Installing 'kubernetes.core:5.0.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core' 2025-11-28 12:02:41,803 p=30918 u=zuul n=ansible | Created collection for kubernetes.core:5.0.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core 2025-11-28 12:02:41,804 p=30918 u=zuul n=ansible | kubernetes.core:5.0.0 was installed successfully 2025-11-28 12:02:41,804 p=30918 u=zuul n=ansible | Installing 'ansible.netcommon:7.1.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon' 2025-11-28 12:02:41,869 p=30918 u=zuul n=ansible | Created collection for ansible.netcommon:7.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon 2025-11-28 12:02:41,869 p=30918 u=zuul n=ansible | ansible.netcommon:7.1.0 was installed successfully 2025-11-28 12:02:41,869 p=30918 u=zuul n=ansible | Installing 'openstack.config_template:2.1.1' to '/home/zuul/.ansible/collections/ansible_collections/openstack/config_template' 2025-11-28 12:02:41,886 p=30918 u=zuul n=ansible | Created collection for openstack.config_template:2.1.1 at /home/zuul/.ansible/collections/ansible_collections/openstack/config_template 2025-11-28 12:02:41,886 p=30918 u=zuul n=ansible | openstack.config_template:2.1.1 was installed successfully 2025-11-28 12:02:41,886 p=30918 u=zuul n=ansible | Installing 'junipernetworks.junos:9.1.0' to '/home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos' 2025-11-28 12:02:42,110 p=30918 u=zuul n=ansible | Created collection for junipernetworks.junos:9.1.0 at /home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos 2025-11-28 12:02:42,111 p=30918 u=zuul n=ansible | junipernetworks.junos:9.1.0 was installed successfully 2025-11-28 12:02:42,111 p=30918 u=zuul n=ansible | Installing 'cisco.ios:9.0.3' to '/home/zuul/.ansible/collections/ansible_collections/cisco/ios' 2025-11-28 12:02:42,357 p=30918 u=zuul n=ansible | Created collection for cisco.ios:9.0.3 at /home/zuul/.ansible/collections/ansible_collections/cisco/ios 2025-11-28 12:02:42,357 p=30918 u=zuul n=ansible | cisco.ios:9.0.3 was installed successfully 2025-11-28 12:02:42,357 p=30918 u=zuul n=ansible | Installing 'mellanox.onyx:1.0.0' to '/home/zuul/.ansible/collections/ansible_collections/mellanox/onyx' 2025-11-28 12:02:42,390 p=30918 u=zuul n=ansible | Created collection for mellanox.onyx:1.0.0 at /home/zuul/.ansible/collections/ansible_collections/mellanox/onyx 2025-11-28 12:02:42,390 p=30918 u=zuul n=ansible | mellanox.onyx:1.0.0 was installed successfully 2025-11-28 12:02:42,391 p=30918 u=zuul n=ansible | Installing 'community.okd:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/okd' 2025-11-28 12:02:42,441 p=30918 u=zuul n=ansible | Created collection for community.okd:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/okd 2025-11-28 12:02:42,442 p=30918 u=zuul n=ansible | community.okd:4.0.0 was installed successfully 2025-11-28 12:02:42,442 p=30918 u=zuul n=ansible | Installing '@NAMESPACE@.@NAME@:3.1.4' to '/home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@' 2025-11-28 12:02:42,554 p=30918 u=zuul n=ansible | Created collection for @NAMESPACE@.@NAME@:3.1.4 at /home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@ 2025-11-28 12:02:42,554 p=30918 u=zuul n=ansible | @NAMESPACE@.@NAME@:3.1.4 was installed successfully 2025-11-28 12:02:54,352 p=31757 u=zuul n=ansible | PLAY [Bootstrap playbook] ****************************************************** 2025-11-28 12:02:54,380 p=31757 u=zuul n=ansible | TASK [Gathering Facts ] ******************************************************** 2025-11-28 12:02:54,380 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:54 +0000 (0:00:00.045) 0:00:00.045 ******* 2025-11-28 12:02:54,380 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:54 +0000 (0:00:00.043) 0:00:00.043 ******* 2025-11-28 12:02:55,436 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:02:55,456 p=31757 u=zuul n=ansible | TASK [cifmw_setup : Set custom cifmw PATH reusable fact cifmw_path={{ ansible_user_dir }}/.crc/bin:{{ ansible_user_dir }}/.crc/bin/oc:{{ ansible_user_dir }}/bin:{{ ansible_env.PATH }}, cacheable=True] *** 2025-11-28 12:02:55,456 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:01.076) 0:00:01.121 ******* 2025-11-28 12:02:55,456 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:01.076) 0:00:01.120 ******* 2025-11-28 12:02:55,481 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:02:55,487 p=31757 u=zuul n=ansible | TASK [cifmw_setup : Get customized parameters ci_framework_params={{ hostvars[inventory_hostname] | dict2items | selectattr("key", "match", "^(cifmw|pre|post)_(?!install_yamls|openshift_token|openshift_login|openshift_kubeconfig).*") | list | items2dict }}] *** 2025-11-28 12:02:55,487 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.030) 0:00:01.152 ******* 2025-11-28 12:02:55,487 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.030) 0:00:01.150 ******* 2025-11-28 12:02:55,537 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:02:55,543 p=31757 u=zuul n=ansible | TASK [install_ca : Ensure target directory exists path={{ cifmw_install_ca_trust_dir }}, state=directory, mode=0755] *** 2025-11-28 12:02:55,543 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.056) 0:00:01.208 ******* 2025-11-28 12:02:55,544 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.056) 0:00:01.207 ******* 2025-11-28 12:02:55,887 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:02:55,893 p=31757 u=zuul n=ansible | TASK [install_ca : Install internal CA from url url={{ cifmw_install_ca_url }}, dest={{ cifmw_install_ca_trust_dir }}, validate_certs={{ cifmw_install_ca_url_validate_certs | default(omit) }}, mode=0644] *** 2025-11-28 12:02:55,893 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.349) 0:00:01.558 ******* 2025-11-28 12:02:55,893 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.349) 0:00:01.557 ******* 2025-11-28 12:02:55,912 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:02:55,919 p=31757 u=zuul n=ansible | TASK [install_ca : Install custom CA bundle from inline dest={{ cifmw_install_ca_trust_dir }}/cifmw_inline_ca_bundle.crt, content={{ cifmw_install_ca_bundle_inline }}, mode=0644] *** 2025-11-28 12:02:55,919 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.025) 0:00:01.584 ******* 2025-11-28 12:02:55,919 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.025) 0:00:01.582 ******* 2025-11-28 12:02:55,940 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:02:55,948 p=31757 u=zuul n=ansible | TASK [install_ca : Install custom CA bundle from file dest={{ cifmw_install_ca_trust_dir }}/{{ cifmw_install_ca_bundle_src | basename }}, src={{ cifmw_install_ca_bundle_src }}, mode=0644] *** 2025-11-28 12:02:55,948 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.029) 0:00:01.613 ******* 2025-11-28 12:02:55,948 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.029) 0:00:01.612 ******* 2025-11-28 12:02:55,967 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:02:55,974 p=31757 u=zuul n=ansible | TASK [install_ca : Update ca bundle _raw_params=update-ca-trust] *************** 2025-11-28 12:02:55,974 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.026) 0:00:01.639 ******* 2025-11-28 12:02:55,974 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:55 +0000 (0:00:00.025) 0:00:01.638 ******* 2025-11-28 12:02:57,415 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:02:57,425 p=31757 u=zuul n=ansible | TASK [repo_setup : Ensure directories are present path={{ cifmw_repo_setup_basedir }}/{{ item }}, state=directory, mode=0755] *** 2025-11-28 12:02:57,425 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:57 +0000 (0:00:01.450) 0:00:03.090 ******* 2025-11-28 12:02:57,425 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:57 +0000 (0:00:01.450) 0:00:03.088 ******* 2025-11-28 12:02:57,616 p=31757 u=zuul n=ansible | changed: [localhost] => (item=tmp) 2025-11-28 12:02:57,801 p=31757 u=zuul n=ansible | changed: [localhost] => (item=artifacts/repositories) 2025-11-28 12:02:57,965 p=31757 u=zuul n=ansible | changed: [localhost] => (item=venv/repo_setup) 2025-11-28 12:02:57,975 p=31757 u=zuul n=ansible | TASK [repo_setup : Make sure git-core package is installed name=git-core, state=present] *** 2025-11-28 12:02:57,975 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:57 +0000 (0:00:00.550) 0:00:03.640 ******* 2025-11-28 12:02:57,976 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:57 +0000 (0:00:00.550) 0:00:03.639 ******* 2025-11-28 12:02:58,930 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:02:58,936 p=31757 u=zuul n=ansible | TASK [repo_setup : Get repo-setup repository accept_hostkey=True, dest={{ cifmw_repo_setup_basedir }}/tmp/repo-setup, repo={{ cifmw_repo_setup_src }}] *** 2025-11-28 12:02:58,936 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:58 +0000 (0:00:00.960) 0:00:04.601 ******* 2025-11-28 12:02:58,936 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:58 +0000 (0:00:00.960) 0:00:04.599 ******* 2025-11-28 12:02:59,823 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:02:59,832 p=31757 u=zuul n=ansible | TASK [repo_setup : Initialize python venv and install requirements virtualenv={{ cifmw_repo_setup_venv }}, requirements={{ cifmw_repo_setup_basedir }}/tmp/repo-setup/requirements.txt, virtualenv_command=python3 -m venv --system-site-packages --upgrade-deps] *** 2025-11-28 12:02:59,832 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:59 +0000 (0:00:00.896) 0:00:05.497 ******* 2025-11-28 12:02:59,832 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:02:59 +0000 (0:00:00.896) 0:00:05.495 ******* 2025-11-28 12:03:10,010 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:10,016 p=31757 u=zuul n=ansible | TASK [repo_setup : Install repo-setup package chdir={{ cifmw_repo_setup_basedir }}/tmp/repo-setup, creates={{ cifmw_repo_setup_venv }}/bin/repo-setup, _raw_params={{ cifmw_repo_setup_venv }}/bin/python setup.py install] *** 2025-11-28 12:03:10,016 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:10 +0000 (0:00:10.184) 0:00:15.681 ******* 2025-11-28 12:03:10,017 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:10 +0000 (0:00:10.184) 0:00:15.680 ******* 2025-11-28 12:03:10,826 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:10,833 p=31757 u=zuul n=ansible | TASK [repo_setup : Set cifmw_repo_setup_dlrn_hash_tag from content provider cifmw_repo_setup_dlrn_hash_tag={{ content_provider_dlrn_md5_hash }}] *** 2025-11-28 12:03:10,833 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:10 +0000 (0:00:00.816) 0:00:16.498 ******* 2025-11-28 12:03:10,833 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:10 +0000 (0:00:00.816) 0:00:16.497 ******* 2025-11-28 12:03:10,856 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:10,862 p=31757 u=zuul n=ansible | TASK [repo_setup : Run repo-setup _raw_params={{ cifmw_repo_setup_venv }}/bin/repo-setup {{ cifmw_repo_setup_promotion }} {{ cifmw_repo_setup_additional_repos }} -d {{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }} -b {{ cifmw_repo_setup_branch }} --rdo-mirror {{ cifmw_repo_setup_rdo_mirror }} {% if cifmw_repo_setup_dlrn_hash_tag | length > 0 %} --dlrn-hash-tag {{ cifmw_repo_setup_dlrn_hash_tag }} {% endif %} -o {{ cifmw_repo_setup_output }}] *** 2025-11-28 12:03:10,862 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:10 +0000 (0:00:00.029) 0:00:16.527 ******* 2025-11-28 12:03:10,862 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:10 +0000 (0:00:00.029) 0:00:16.526 ******* 2025-11-28 12:03:11,530 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:11,537 p=31757 u=zuul n=ansible | TASK [repo_setup : Get component repo url={{ cifmw_repo_setup_dlrn_uri }}/{{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }}-{{ cifmw_repo_setup_branch }}/component/{{ cifmw_repo_setup_component_name }}/{{ cifmw_repo_setup_component_promotion_tag }}/delorean.repo, dest={{ cifmw_repo_setup_output }}/{{ cifmw_repo_setup_component_name }}_{{ cifmw_repo_setup_component_promotion_tag }}_delorean.repo, mode=0644] *** 2025-11-28 12:03:11,537 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.674) 0:00:17.202 ******* 2025-11-28 12:03:11,537 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.674) 0:00:17.200 ******* 2025-11-28 12:03:11,570 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:11,577 p=31757 u=zuul n=ansible | TASK [repo_setup : Rename component repo path={{ cifmw_repo_setup_output }}/{{ cifmw_repo_setup_component_name }}_{{ cifmw_repo_setup_component_promotion_tag }}_delorean.repo, regexp=delorean-component-{{ cifmw_repo_setup_component_name }}, replace={{ cifmw_repo_setup_component_name }}-{{ cifmw_repo_setup_component_promotion_tag }}] *** 2025-11-28 12:03:11,577 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.040) 0:00:17.242 ******* 2025-11-28 12:03:11,577 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.040) 0:00:17.240 ******* 2025-11-28 12:03:11,610 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:11,620 p=31757 u=zuul n=ansible | TASK [repo_setup : Disable component repo in current-podified dlrn repo path={{ cifmw_repo_setup_output }}/delorean.repo, section=delorean-component-{{ cifmw_repo_setup_component_name }}, option=enabled, value=0, mode=0644] *** 2025-11-28 12:03:11,620 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.042) 0:00:17.285 ******* 2025-11-28 12:03:11,620 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.042) 0:00:17.283 ******* 2025-11-28 12:03:11,654 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:11,664 p=31757 u=zuul n=ansible | TASK [repo_setup : Run repo-setup-get-hash _raw_params={{ cifmw_repo_setup_venv }}/bin/repo-setup-get-hash --dlrn-url {{ cifmw_repo_setup_dlrn_uri[:-1] }} --os-version {{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }} --release {{ cifmw_repo_setup_branch }} {% if cifmw_repo_setup_component_name | length > 0 -%} --component {{ cifmw_repo_setup_component_name }} --tag {{ cifmw_repo_setup_component_promotion_tag }} {% else -%} --tag {{cifmw_repo_setup_promotion }} {% endif -%} {% if (cifmw_repo_setup_dlrn_hash_tag | length > 0) and (cifmw_repo_setup_component_name | length <= 0) -%} --dlrn-hash-tag {{ cifmw_repo_setup_dlrn_hash_tag }} {% endif -%} --json] *** 2025-11-28 12:03:11,664 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.043) 0:00:17.329 ******* 2025-11-28 12:03:11,664 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:11 +0000 (0:00:00.043) 0:00:17.327 ******* 2025-11-28 12:03:12,151 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:12,158 p=31757 u=zuul n=ansible | TASK [repo_setup : Dump full hash in delorean.repo.md5 file content={{ _repo_setup_json['full_hash'] }} , dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] *** 2025-11-28 12:03:12,158 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.494) 0:00:17.823 ******* 2025-11-28 12:03:12,158 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.494) 0:00:17.821 ******* 2025-11-28 12:03:12,774 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:12,780 p=31757 u=zuul n=ansible | TASK [repo_setup : Dump current-podified hash url={{ cifmw_repo_setup_dlrn_uri }}/{{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }}-{{ cifmw_repo_setup_branch }}/current-podified/delorean.repo.md5, dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] *** 2025-11-28 12:03:12,780 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.621) 0:00:18.445 ******* 2025-11-28 12:03:12,780 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.621) 0:00:18.443 ******* 2025-11-28 12:03:12,796 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,802 p=31757 u=zuul n=ansible | TASK [repo_setup : Slurp current podified hash src={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5] *** 2025-11-28 12:03:12,802 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.467 ******* 2025-11-28 12:03:12,802 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.466 ******* 2025-11-28 12:03:12,819 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,825 p=31757 u=zuul n=ansible | TASK [repo_setup : Update the value of full_hash _repo_setup_json={{ _repo_setup_json | combine({'full_hash': _hash}, recursive=true) }}] *** 2025-11-28 12:03:12,825 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.490 ******* 2025-11-28 12:03:12,825 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.489 ******* 2025-11-28 12:03:12,840 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,848 p=31757 u=zuul n=ansible | TASK [repo_setup : Export hashes facts for further use cifmw_repo_setup_full_hash={{ _repo_setup_json['full_hash'] }}, cifmw_repo_setup_commit_hash={{ _repo_setup_json['commit_hash'] }}, cifmw_repo_setup_distro_hash={{ _repo_setup_json['distro_hash'] }}, cifmw_repo_setup_extended_hash={{ _repo_setup_json['extended_hash'] }}, cifmw_repo_setup_dlrn_api_url={{ _repo_setup_json['dlrn_api_url'] }}, cifmw_repo_setup_dlrn_url={{ _repo_setup_json['dlrn_url'] }}, cifmw_repo_setup_release={{ _repo_setup_json['release'] }}, cacheable=True] *** 2025-11-28 12:03:12,848 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.513 ******* 2025-11-28 12:03:12,848 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.511 ******* 2025-11-28 12:03:12,874 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:12,881 p=31757 u=zuul n=ansible | TASK [repo_setup : Create download directory path={{ cifmw_repo_setup_rhos_release_path }}, state=directory, mode=0755] *** 2025-11-28 12:03:12,881 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.032) 0:00:18.546 ******* 2025-11-28 12:03:12,881 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.032) 0:00:18.544 ******* 2025-11-28 12:03:12,895 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,902 p=31757 u=zuul n=ansible | TASK [repo_setup : Print the URL to request msg={{ cifmw_repo_setup_rhos_release_rpm }}] *** 2025-11-28 12:03:12,903 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.021) 0:00:18.567 ******* 2025-11-28 12:03:12,903 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.021) 0:00:18.566 ******* 2025-11-28 12:03:12,917 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,924 p=31757 u=zuul n=ansible | TASK [Download the RPM name=krb_request] *************************************** 2025-11-28 12:03:12,924 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.021) 0:00:18.589 ******* 2025-11-28 12:03:12,924 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.021) 0:00:18.588 ******* 2025-11-28 12:03:12,940 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,948 p=31757 u=zuul n=ansible | TASK [repo_setup : Install RHOS Release tool name={{ cifmw_repo_setup_rhos_release_rpm if cifmw_repo_setup_rhos_release_rpm is not url else cifmw_krb_request_out.path }}, state=present, disable_gpg_check={{ cifmw_repo_setup_rhos_release_gpg_check | bool }}] *** 2025-11-28 12:03:12,948 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.023) 0:00:18.613 ******* 2025-11-28 12:03:12,948 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.023) 0:00:18.611 ******* 2025-11-28 12:03:12,964 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,970 p=31757 u=zuul n=ansible | TASK [repo_setup : Get rhos-release tool version _raw_params=rhos-release --version] *** 2025-11-28 12:03:12,971 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.635 ******* 2025-11-28 12:03:12,971 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.022) 0:00:18.634 ******* 2025-11-28 12:03:12,984 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:12,991 p=31757 u=zuul n=ansible | TASK [repo_setup : Print rhos-release tool version msg={{ rr_version.stdout }}] *** 2025-11-28 12:03:12,991 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.020) 0:00:18.656 ******* 2025-11-28 12:03:12,991 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:12 +0000 (0:00:00.020) 0:00:18.654 ******* 2025-11-28 12:03:13,005 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:13,013 p=31757 u=zuul n=ansible | TASK [repo_setup : Generate repos using rhos-release {{ cifmw_repo_setup_rhos_release_args }} _raw_params=rhos-release {{ cifmw_repo_setup_rhos_release_args }} \ -t {{ cifmw_repo_setup_output }}] *** 2025-11-28 12:03:13,013 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.022) 0:00:18.678 ******* 2025-11-28 12:03:13,013 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.022) 0:00:18.677 ******* 2025-11-28 12:03:13,027 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:13,033 p=31757 u=zuul n=ansible | TASK [repo_setup : Check for /etc/ci/mirror_info.sh path=/etc/ci/mirror_info.sh] *** 2025-11-28 12:03:13,033 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.020) 0:00:18.698 ******* 2025-11-28 12:03:13,034 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.020) 0:00:18.697 ******* 2025-11-28 12:03:13,213 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:13,220 p=31757 u=zuul n=ansible | TASK [repo_setup : Use RDO proxy mirrors chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail source /etc/ci/mirror_info.sh sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" *.repo ] *** 2025-11-28 12:03:13,220 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.186) 0:00:18.885 ******* 2025-11-28 12:03:13,220 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.186) 0:00:18.884 ******* 2025-11-28 12:03:13,426 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:13,432 p=31757 u=zuul n=ansible | TASK [repo_setup : Use RDO CentOS mirrors (remove CentOS 10 conditional when Nodepool mirrors exist) chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail source /etc/ci/mirror_info.sh sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" *.repo ] *** 2025-11-28 12:03:13,432 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.211) 0:00:19.097 ******* 2025-11-28 12:03:13,432 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:13 +0000 (0:00:00.211) 0:00:19.096 ******* 2025-11-28 12:03:14,214 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:14,221 p=31757 u=zuul n=ansible | TASK [repo_setup : Check for gating.repo file on content provider url=http://{{ content_provider_registry_ip }}:8766/gating.repo] *** 2025-11-28 12:03:14,221 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.788) 0:00:19.886 ******* 2025-11-28 12:03:14,221 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.788) 0:00:19.884 ******* 2025-11-28 12:03:14,732 p=31757 u=zuul n=ansible | fatal: [localhost]: FAILED! => changed: false elapsed: 0 msg: 'Status code was -1 and not [200]: Request failed: ' redirected: false status: -1 url: http://38.102.83.94:8766/gating.repo 2025-11-28 12:03:14,732 p=31757 u=zuul n=ansible | ...ignoring 2025-11-28 12:03:14,745 p=31757 u=zuul n=ansible | TASK [repo_setup : Populate gating repo from content provider ip content=[gating-repo] baseurl=http://{{ content_provider_registry_ip }}:8766/ enabled=1 gpgcheck=0 priority=1 , dest={{ cifmw_repo_setup_output }}/gating.repo, mode=0644] *** 2025-11-28 12:03:14,746 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.524) 0:00:20.411 ******* 2025-11-28 12:03:14,746 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.524) 0:00:20.409 ******* 2025-11-28 12:03:14,776 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:14,789 p=31757 u=zuul n=ansible | TASK [repo_setup : Check for DLRN repo at the destination path={{ cifmw_repo_setup_output }}/delorean.repo] *** 2025-11-28 12:03:14,789 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.043) 0:00:20.454 ******* 2025-11-28 12:03:14,789 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.043) 0:00:20.453 ******* 2025-11-28 12:03:14,822 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:14,835 p=31757 u=zuul n=ansible | TASK [repo_setup : Lower the priority of DLRN repos to allow installation from gating repo path={{ cifmw_repo_setup_output }}/delorean.repo, regexp=priority=1, replace=priority=20] *** 2025-11-28 12:03:14,835 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.046) 0:00:20.500 ******* 2025-11-28 12:03:14,836 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.046) 0:00:20.499 ******* 2025-11-28 12:03:14,864 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:14,871 p=31757 u=zuul n=ansible | TASK [repo_setup : Check for DLRN component repo path={{ cifmw_repo_setup_output }}/{{ _comp_repo }}] *** 2025-11-28 12:03:14,872 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.036) 0:00:20.536 ******* 2025-11-28 12:03:14,872 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.036) 0:00:20.535 ******* 2025-11-28 12:03:14,913 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:14,922 p=31757 u=zuul n=ansible | TASK [repo_setup : Lower the priority of componennt repos to allow installation from gating repo path={{ cifmw_repo_setup_output }}//{{ _comp_repo }}, regexp=priority=1, replace=priority=2] *** 2025-11-28 12:03:14,922 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.050) 0:00:20.587 ******* 2025-11-28 12:03:14,922 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.050) 0:00:20.586 ******* 2025-11-28 12:03:14,957 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:14,963 p=31757 u=zuul n=ansible | TASK [repo_setup : Find existing repos from /etc/yum.repos.d directory paths=/etc/yum.repos.d/, patterns=*.repo, recurse=False] *** 2025-11-28 12:03:14,963 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.041) 0:00:20.628 ******* 2025-11-28 12:03:14,963 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:14 +0000 (0:00:00.041) 0:00:20.627 ******* 2025-11-28 12:03:15,280 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:15,288 p=31757 u=zuul n=ansible | TASK [repo_setup : Remove existing repos from /etc/yum.repos.d directory path={{ item }}, state=absent] *** 2025-11-28 12:03:15,288 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:15 +0000 (0:00:00.324) 0:00:20.953 ******* 2025-11-28 12:03:15,288 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:15 +0000 (0:00:00.324) 0:00:20.951 ******* 2025-11-28 12:03:15,508 p=31757 u=zuul n=ansible | changed: [localhost] => (item=/etc/yum.repos.d/centos-addons.repo) 2025-11-28 12:03:15,695 p=31757 u=zuul n=ansible | changed: [localhost] => (item=/etc/yum.repos.d/centos.repo) 2025-11-28 12:03:15,702 p=31757 u=zuul n=ansible | TASK [repo_setup : Cleanup existing metadata _raw_params=dnf clean metadata] *** 2025-11-28 12:03:15,702 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:15 +0000 (0:00:00.414) 0:00:21.367 ******* 2025-11-28 12:03:15,702 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:15 +0000 (0:00:00.414) 0:00:21.365 ******* 2025-11-28 12:03:16,156 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:16,164 p=31757 u=zuul n=ansible | TASK [repo_setup : Copy generated repos to /etc/yum.repos.d directory mode=0755, remote_src=True, src={{ cifmw_repo_setup_output }}/, dest=/etc/yum.repos.d] *** 2025-11-28 12:03:16,165 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.462) 0:00:21.829 ******* 2025-11-28 12:03:16,165 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.462) 0:00:21.828 ******* 2025-11-28 12:03:16,408 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:16,420 p=31757 u=zuul n=ansible | TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] *** 2025-11-28 12:03:16,420 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.255) 0:00:22.085 ******* 2025-11-28 12:03:16,420 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.255) 0:00:22.084 ******* 2025-11-28 12:03:16,452 p=31757 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml) 2025-11-28 12:03:16,462 p=31757 u=zuul n=ansible | TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] ********* 2025-11-28 12:03:16,462 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.041) 0:00:22.127 ******* 2025-11-28 12:03:16,462 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.041) 0:00:22.125 ******* 2025-11-28 12:03:16,480 p=31757 u=zuul n=ansible | ok: [localhost] => cifmw_ci_setup_packages: - bash-completion - ca-certificates - git-core - make - tar - tmux - python3-pip 2025-11-28 12:03:16,487 p=31757 u=zuul n=ansible | TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] *** 2025-11-28 12:03:16,487 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.025) 0:00:22.152 ******* 2025-11-28 12:03:16,487 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:16 +0000 (0:00:00.025) 0:00:22.150 ******* 2025-11-28 12:03:44,648 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:44,655 p=31757 u=zuul n=ansible | TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] *** 2025-11-28 12:03:44,655 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:44 +0000 (0:00:28.167) 0:00:50.320 ******* 2025-11-28 12:03:44,655 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:44 +0000 (0:00:28.167) 0:00:50.318 ******* 2025-11-28 12:03:44,870 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:44,877 p=31757 u=zuul n=ansible | TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] *** 2025-11-28 12:03:44,877 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:44 +0000 (0:00:00.221) 0:00:50.542 ******* 2025-11-28 12:03:44,877 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:44 +0000 (0:00:00.221) 0:00:50.540 ******* 2025-11-28 12:03:45,087 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:45,093 p=31757 u=zuul n=ansible | TASK [ci_setup : Install openshift client src={{ cifmw_ci_setup_openshift_client_download_uri }}/{{ cifmw_ci_setup_openshift_client_version }}/openshift-client-linux.tar.gz, dest={{ cifmw_ci_setup_oc_install_path }}, remote_src=True, mode=0755, creates={{ cifmw_ci_setup_oc_install_path }}/oc] *** 2025-11-28 12:03:45,093 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:45 +0000 (0:00:00.216) 0:00:50.758 ******* 2025-11-28 12:03:45,093 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:45 +0000 (0:00:00.216) 0:00:50.757 ******* 2025-11-28 12:03:50,248 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:50,254 p=31757 u=zuul n=ansible | TASK [ci_setup : Add the OC path to cifmw_path if needed cifmw_path={{ cifmw_ci_setup_oc_install_path }}:{{ ansible_env.PATH }}, cacheable=True] *** 2025-11-28 12:03:50,254 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:05.160) 0:00:55.919 ******* 2025-11-28 12:03:50,254 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:05.160) 0:00:55.918 ******* 2025-11-28 12:03:50,278 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:50,285 p=31757 u=zuul n=ansible | TASK [ci_setup : Create completion file] *************************************** 2025-11-28 12:03:50,285 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.031) 0:00:55.950 ******* 2025-11-28 12:03:50,286 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.031) 0:00:55.949 ******* 2025-11-28 12:03:50,576 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:50,585 p=31757 u=zuul n=ansible | TASK [ci_setup : Source completion from within .bashrc create=True, mode=0644, path={{ ansible_user_dir }}/.bashrc, block=if [ -f ~/.oc_completion ]; then source ~/.oc_completion fi] *** 2025-11-28 12:03:50,585 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.299) 0:00:56.250 ******* 2025-11-28 12:03:50,585 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.299) 0:00:56.248 ******* 2025-11-28 12:03:50,877 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:50,889 p=31757 u=zuul n=ansible | TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] **** 2025-11-28 12:03:50,889 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.304) 0:00:56.554 ******* 2025-11-28 12:03:50,889 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.304) 0:00:56.552 ******* 2025-11-28 12:03:50,907 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:50,917 p=31757 u=zuul n=ansible | TASK [ci_setup : Gather the repos to be enabled _repos={{ cifmw_ci_setup_rhel_rhsm_default_repos + (cifmw_ci_setup_rhel_rhsm_extra_repos | default([])) }}] *** 2025-11-28 12:03:50,917 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.028) 0:00:56.582 ******* 2025-11-28 12:03:50,917 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.028) 0:00:56.580 ******* 2025-11-28 12:03:50,933 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:50,942 p=31757 u=zuul n=ansible | TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] *** 2025-11-28 12:03:50,942 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.024) 0:00:56.607 ******* 2025-11-28 12:03:50,942 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.024) 0:00:56.605 ******* 2025-11-28 12:03:50,960 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:50,969 p=31757 u=zuul n=ansible | TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] *** 2025-11-28 12:03:50,969 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.026) 0:00:56.633 ******* 2025-11-28 12:03:50,969 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.026) 0:00:56.632 ******* 2025-11-28 12:03:50,983 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:50,992 p=31757 u=zuul n=ansible | TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] *** 2025-11-28 12:03:50,992 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.023) 0:00:56.657 ******* 2025-11-28 12:03:50,993 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:50 +0000 (0:00:00.023) 0:00:56.656 ******* 2025-11-28 12:03:51,008 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:51,017 p=31757 u=zuul n=ansible | TASK [ci_setup : Ensure the repos are enabled in the system using yum name={{ item.name }}, baseurl={{ item.baseurl }}, description={{ item.description | default(item.name) }}, gpgcheck={{ item.gpgcheck | default(false) }}, enabled=True, state={{ yum_repo_state | default('present') }}] *** 2025-11-28 12:03:51,017 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:51 +0000 (0:00:00.024) 0:00:56.682 ******* 2025-11-28 12:03:51,017 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:51 +0000 (0:00:00.024) 0:00:56.680 ******* 2025-11-28 12:03:51,037 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:51,045 p=31757 u=zuul n=ansible | TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] *** 2025-11-28 12:03:51,045 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:51 +0000 (0:00:00.028) 0:00:56.710 ******* 2025-11-28 12:03:51,045 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:51 +0000 (0:00:00.028) 0:00:56.708 ******* 2025-11-28 12:03:51,304 p=31757 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr) 2025-11-28 12:03:51,503 p=31757 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/logs) 2025-11-28 12:03:51,709 p=31757 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/tmp) 2025-11-28 12:03:51,886 p=31757 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes) 2025-11-28 12:03:52,076 p=31757 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-11-28 12:03:52,088 p=31757 u=zuul n=ansible | TASK [Prepare install_yamls make targets name=install_yamls, apply={'tags': ['bootstrap']}] *** 2025-11-28 12:03:52,088 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:01.043) 0:00:57.753 ******* 2025-11-28 12:03:52,089 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:01.043) 0:00:57.752 ******* 2025-11-28 12:03:52,209 p=31757 u=zuul n=ansible | TASK [install_yamls : Ensure directories exist path={{ item }}, state=directory, mode=0755] *** 2025-11-28 12:03:52,210 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.121) 0:00:57.874 ******* 2025-11-28 12:03:52,210 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.121) 0:00:57.873 ******* 2025-11-28 12:03:52,457 p=31757 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts) 2025-11-28 12:03:52,608 p=31757 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks) 2025-11-28 12:03:52,763 p=31757 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-11-28 12:03:52,776 p=31757 u=zuul n=ansible | TASK [Create variables with local repos based on Zuul items name=install_yamls, tasks_from=zuul_set_operators_repo.yml] *** 2025-11-28 12:03:52,777 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.566) 0:00:58.441 ******* 2025-11-28 12:03:52,777 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.566) 0:00:58.440 ******* 2025-11-28 12:03:52,813 p=31757 u=zuul n=ansible | TASK [install_yamls : Set fact with local repos based on Zuul items cifmw_install_yamls_operators_repo={{ cifmw_install_yamls_operators_repo | default({}) | combine(_repo_operator_info | items2dict) }}] *** 2025-11-28 12:03:52,813 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.036) 0:00:58.478 ******* 2025-11-28 12:03:52,813 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.036) 0:00:58.476 ******* 2025-11-28 12:03:52,872 p=31757 u=zuul n=ansible | ok: [localhost] => (item={'branch': 'main', 'change': '839', 'change_url': 'https://github.com/openstack-k8s-operators/glance-operator/pull/839', 'commit_id': '35351eeab4bdfca92de19f8c0830be4670c48745', 'patchset': '35351eeab4bdfca92de19f8c0830be4670c48745', 'project': {'canonical_hostname': 'github.com', 'canonical_name': 'github.com/openstack-k8s-operators/glance-operator', 'name': 'openstack-k8s-operators/glance-operator', 'short_name': 'glance-operator', 'src_dir': 'src/github.com/openstack-k8s-operators/glance-operator'}, 'topic': None}) 2025-11-28 12:03:52,880 p=31757 u=zuul n=ansible | TASK [install_yamls : Print helpful data for debugging msg=_repo_operator_name: {{ _repo_operator_name }} _repo_operator_info: {{ _repo_operator_info }} cifmw_install_yamls_operators_repo: {{ cifmw_install_yamls_operators_repo }} ] *** 2025-11-28 12:03:52,881 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.067) 0:00:58.545 ******* 2025-11-28 12:03:52,881 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.067) 0:00:58.544 ******* 2025-11-28 12:03:52,924 p=31757 u=zuul n=ansible | ok: [localhost] => (item={'branch': 'main', 'change': '839', 'change_url': 'https://github.com/openstack-k8s-operators/glance-operator/pull/839', 'commit_id': '35351eeab4bdfca92de19f8c0830be4670c48745', 'patchset': '35351eeab4bdfca92de19f8c0830be4670c48745', 'project': {'canonical_hostname': 'github.com', 'canonical_name': 'github.com/openstack-k8s-operators/glance-operator', 'name': 'openstack-k8s-operators/glance-operator', 'short_name': 'glance-operator', 'src_dir': 'src/github.com/openstack-k8s-operators/glance-operator'}, 'topic': None}) => msg: | _repo_operator_name: glance _repo_operator_info: [{'key': 'GLANCE_REPO', 'value': '/home/zuul/src/github.com/openstack-k8s-operators/glance-operator'}, {'key': 'GLANCE_BRANCH', 'value': ''}] cifmw_install_yamls_operators_repo: {'GLANCE_REPO': '/home/zuul/src/github.com/openstack-k8s-operators/glance-operator', 'GLANCE_BRANCH': ''} 2025-11-28 12:03:52,935 p=31757 u=zuul n=ansible | TASK [Customize install_yamls devsetup vars if needed name=install_yamls, tasks_from=customize_devsetup_vars.yml] *** 2025-11-28 12:03:52,935 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.054) 0:00:58.600 ******* 2025-11-28 12:03:52,935 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.054) 0:00:58.599 ******* 2025-11-28 12:03:52,974 p=31757 u=zuul n=ansible | TASK [install_yamls : Update opm_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^opm_version:, line=opm_version: {{ cifmw_install_yamls_opm_version }}, state=present] *** 2025-11-28 12:03:52,974 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.038) 0:00:58.639 ******* 2025-11-28 12:03:52,974 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:52 +0000 (0:00:00.038) 0:00:58.638 ******* 2025-11-28 12:03:52,995 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:53,001 p=31757 u=zuul n=ansible | TASK [install_yamls : Update sdk_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^sdk_version:, line=sdk_version: {{ cifmw_install_yamls_sdk_version }}, state=present] *** 2025-11-28 12:03:53,001 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.027) 0:00:58.666 ******* 2025-11-28 12:03:53,002 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.027) 0:00:58.665 ******* 2025-11-28 12:03:53,273 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:53,279 p=31757 u=zuul n=ansible | TASK [install_yamls : Update go_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^go_version:, line=go_version: {{ cifmw_install_yamls_go_version }}, state=present] *** 2025-11-28 12:03:53,279 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.277) 0:00:58.944 ******* 2025-11-28 12:03:53,279 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.277) 0:00:58.943 ******* 2025-11-28 12:03:53,299 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:53,306 p=31757 u=zuul n=ansible | TASK [install_yamls : Update kustomize_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^kustomize_version:, line=kustomize_version: {{ cifmw_install_yamls_kustomize_version }}, state=present] *** 2025-11-28 12:03:53,306 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.027) 0:00:58.971 ******* 2025-11-28 12:03:53,307 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.027) 0:00:58.970 ******* 2025-11-28 12:03:53,327 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:53,338 p=31757 u=zuul n=ansible | TASK [install_yamls : Compute the cifmw_install_yamls_vars final value _install_yamls_override_vars={{ _install_yamls_override_vars | default({}) | combine(item, recursive=True) }}] *** 2025-11-28 12:03:53,338 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.031) 0:00:59.003 ******* 2025-11-28 12:03:53,338 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.031) 0:00:59.001 ******* 2025-11-28 12:03:53,402 p=31757 u=zuul n=ansible | ok: [localhost] => (item={'BMO_SETUP': False}) 2025-11-28 12:03:53,411 p=31757 u=zuul n=ansible | TASK [install_yamls : Set environment override cifmw_install_yamls_environment fact cifmw_install_yamls_environment={{ _install_yamls_override_vars.keys() | map('upper') | zip(_install_yamls_override_vars.values()) | items2dict(key_name=0, value_name=1) | combine({ 'OUT': cifmw_install_yamls_manifests_dir, 'OUTPUT_DIR': cifmw_install_yamls_edpm_dir, 'CHECKOUT_FROM_OPENSTACK_REF': cifmw_install_yamls_checkout_openstack_ref, 'OPENSTACK_K8S_BRANCH': (zuul is defined and not zuul.branch |regex_search('master|antelope|rhos')) | ternary(zuul.branch, 'main') }) | combine(install_yamls_operators_repos) }}, cacheable=True] *** 2025-11-28 12:03:53,411 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.073) 0:00:59.076 ******* 2025-11-28 12:03:53,411 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.073) 0:00:59.075 ******* 2025-11-28 12:03:53,452 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:53,458 p=31757 u=zuul n=ansible | TASK [install_yamls : Get environment structure base_path={{ cifmw_install_yamls_repo }}] *** 2025-11-28 12:03:53,459 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.047) 0:00:59.123 ******* 2025-11-28 12:03:53,459 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.047) 0:00:59.122 ******* 2025-11-28 12:03:53,978 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:53,988 p=31757 u=zuul n=ansible | TASK [install_yamls : Ensure Output directory exists path={{ cifmw_install_yamls_out_dir }}, state=directory, mode=0755] *** 2025-11-28 12:03:53,988 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.529) 0:00:59.653 ******* 2025-11-28 12:03:53,988 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:53 +0000 (0:00:00.529) 0:00:59.652 ******* 2025-11-28 12:03:54,167 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:54,174 p=31757 u=zuul n=ansible | TASK [install_yamls : Ensure user cifmw_install_yamls_vars contains existing Makefile variables that=_cifmw_install_yamls_unmatched_vars | length == 0, msg=cifmw_install_yamls_vars contains a variable that is not defined in install_yamls Makefile nor cifmw_install_yamls_whitelisted_vars: {{ _cifmw_install_yamls_unmatched_vars | join(', ')}}, quiet=True] *** 2025-11-28 12:03:54,174 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.186) 0:00:59.839 ******* 2025-11-28 12:03:54,174 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.186) 0:00:59.838 ******* 2025-11-28 12:03:54,209 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:54,222 p=31757 u=zuul n=ansible | TASK [install_yamls : Generate /home/zuul/ci-framework-data/artifacts/install_yamls.sh dest={{ cifmw_install_yamls_out_dir }}/{{ cifmw_install_yamls_envfile }}, content={% for k,v in cifmw_install_yamls_environment.items() %} export {{ k }}={{ v }} {% endfor %}, mode=0644] *** 2025-11-28 12:03:54,222 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.047) 0:00:59.887 ******* 2025-11-28 12:03:54,222 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.047) 0:00:59.886 ******* 2025-11-28 12:03:54,607 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:54,614 p=31757 u=zuul n=ansible | TASK [install_yamls : Set install_yamls default values cifmw_install_yamls_defaults={{ get_makefiles_env_output.makefiles_values | combine(cifmw_install_yamls_environment) }}, cacheable=True] *** 2025-11-28 12:03:54,615 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.392) 0:01:00.279 ******* 2025-11-28 12:03:54,615 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.392) 0:01:00.278 ******* 2025-11-28 12:03:54,638 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:54,646 p=31757 u=zuul n=ansible | TASK [install_yamls : Show the env structure var=cifmw_install_yamls_environment] *** 2025-11-28 12:03:54,646 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.031) 0:01:00.311 ******* 2025-11-28 12:03:54,646 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.031) 0:01:00.310 ******* 2025-11-28 12:03:54,663 p=31757 u=zuul n=ansible | ok: [localhost] => cifmw_install_yamls_environment: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' GLANCE_BRANCH: '' GLANCE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/glance-operator OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-28 12:03:54,673 p=31757 u=zuul n=ansible | TASK [install_yamls : Show the env structure defaults var=cifmw_install_yamls_defaults] *** 2025-11-28 12:03:54,674 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.027) 0:01:00.339 ******* 2025-11-28 12:03:54,674 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.027) 0:01:00.337 ******* 2025-11-28 12:03:54,703 p=31757 u=zuul n=ansible | ok: [localhost] => cifmw_install_yamls_defaults: ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 ADOPTED_TENANT_NETWORK: 172.9.1.0/24 ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_BRANCH: main ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator ANSIBLEE_COMMIT_HASH: '' BARBICAN: config/samples/barbican_v1beta1_barbican.yaml BARBICAN_BRANCH: main BARBICAN_COMMIT_HASH: '' BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml BARBICAN_DEPL_IMG: unused BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git BARBICAN_SERVICE_ENABLED: 'true' BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= BAREMETAL_BRANCH: main BAREMETAL_COMMIT_HASH: '' BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest BAREMETAL_OS_CONTAINER_IMG: '' BAREMETAL_OS_IMG: '' BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git BAREMETAL_TIMEOUT: 20m BASH_IMG: quay.io/openstack-k8s-operators/bash:latest BGP_ASN: '64999' BGP_LEAF_1: 100.65.4.1 BGP_LEAF_2: 100.64.4.1 BGP_OVN_ROUTING: 'false' BGP_PEER_ASN: '64999' BGP_SOURCE_IP: 172.30.4.2 BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 BMAAS_INSTANCE_DISK_SIZE: '20' BMAAS_INSTANCE_MEMORY: '4096' BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas BMAAS_INSTANCE_NET_MODEL: virtio BMAAS_INSTANCE_OS_VARIANT: centos-stream9 BMAAS_INSTANCE_VCPUS: '2' BMAAS_INSTANCE_VIRT_TYPE: kvm BMAAS_IPV4: 'true' BMAAS_IPV6: 'false' BMAAS_LIBVIRT_USER: sushyemu BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 BMAAS_METALLB_POOL_NAME: baremetal BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 BMAAS_NETWORK_NAME: crc-bmaas BMAAS_NODE_COUNT: '1' BMAAS_OCP_INSTANCE_NAME: crc BMAAS_REDFISH_PASSWORD: password BMAAS_REDFISH_USERNAME: admin BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default BMAAS_SUSHY_EMULATOR_DRIVER: libvirt BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack BMH_NAMESPACE: openstack BMO_BRANCH: release-0.9 BMO_CLEANUP: 'true' BMO_COMMIT_HASH: '' BMO_IPA_BRANCH: stable/2024.1 BMO_IRONIC_HOST: 192.168.122.10 BMO_PROVISIONING_INTERFACE: '' BMO_REPO: https://github.com/metal3-io/baremetal-operator BMO_SETUP: false BMO_SETUP_ROUTE_REPLACE: 'true' BM_CTLPLANE_INTERFACE: enp1s0 BM_INSTANCE_MEMORY: '8192' BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal BM_INSTANCE_NAME_SUFFIX: '0' BM_NETWORK_NAME: default BM_NODE_COUNT: '1' BM_ROOT_PASSWORD: '' BM_ROOT_PASSWORD_SECRET: '' CEILOMETER_CENTRAL_DEPL_IMG: unused CEILOMETER_NOTIFICATION_DEPL_IMG: unused CEPH_BRANCH: release-1.15 CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml CEPH_IMG: quay.io/ceph/demo:latest-squid CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml CEPH_REPO: https://github.com/rook/rook.git CERTMANAGER_TIMEOUT: 300s CHECKOUT_FROM_OPENSTACK_REF: 'true' CINDER: config/samples/cinder_v1beta1_cinder.yaml CINDERAPI_DEPL_IMG: unused CINDERBKP_DEPL_IMG: unused CINDERSCH_DEPL_IMG: unused CINDERVOL_DEPL_IMG: unused CINDER_BRANCH: main CINDER_COMMIT_HASH: '' CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git CLEANUP_DIR_CMD: rm -Rf CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' CRC_HTTPS_PROXY: '' CRC_HTTP_PROXY: '' CRC_STORAGE_NAMESPACE: crc-storage CRC_STORAGE_RETRIES: '3' CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' CRC_VERSION: latest DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret DATAPLANE_ANSIBLE_USER: '' DATAPLANE_COMPUTE_IP: 192.168.122.100 DATAPLANE_CONTAINER_PREFIX: openstack DATAPLANE_CONTAINER_TAG: current-podified DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest DATAPLANE_DEFAULT_GW: 192.168.122.1 DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned DATAPLANE_NETWORKER_IP: 192.168.122.200 DATAPLANE_NETWORK_INTERFACE_NAME: eth0 DATAPLANE_NOVA_NFS_PATH: '' DATAPLANE_NTP_SERVER: pool.ntp.org DATAPLANE_PLAYBOOK: osp.edpm.download_cache DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 DATAPLANE_RUNNER_IMG: '' DATAPLANE_SERVER_ROLE: compute DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' DATAPLANE_TIMEOUT: 30m DATAPLANE_TLS_ENABLED: 'true' DATAPLANE_TOTAL_NETWORKER_NODES: '1' DATAPLANE_TOTAL_NODES: '1' DBSERVICE: galera DESIGNATE: config/samples/designate_v1beta1_designate.yaml DESIGNATE_BRANCH: main DESIGNATE_COMMIT_HASH: '' DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git DNSDATA: config/samples/network_v1beta1_dnsdata.yaml DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml DNS_DEPL_IMG: unused DNS_DOMAIN: localdomain DOWNLOAD_TOOLS_SELECTION: all EDPM_ATTACH_EXTNET: 'true' EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' EDPM_COMPUTE_CELLS: '1' EDPM_COMPUTE_CEPH_ENABLED: 'true' EDPM_COMPUTE_CEPH_NOVA: 'true' EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' EDPM_COMPUTE_SRIOV_ENABLED: 'true' EDPM_COMPUTE_SUFFIX: '0' EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' EDPM_CONFIGURE_HUGEPAGES: 'false' EDPM_CONFIGURE_NETWORKING: 'true' EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra EDPM_NETWORKER_SUFFIX: '0' EDPM_TOTAL_NETWORKERS: '1' EDPM_TOTAL_NODES: '1' GALERA_REPLICAS: '' GENERATE_SSH_KEYS: 'true' GIT_CLONE_OPTS: '' GLANCE: config/samples/glance_v1beta1_glance.yaml GLANCEAPI_DEPL_IMG: unused GLANCE_BRANCH: '' GLANCE_COMMIT_HASH: '' GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests GLANCE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/glance-operator HEAT: config/samples/heat_v1beta1_heat.yaml HEATAPI_DEPL_IMG: unused HEATCFNAPI_DEPL_IMG: unused HEATENGINE_DEPL_IMG: unused HEAT_AUTH_ENCRYPTION_KEY: 767c3ed056cbaa3b9dfedb8c6f825bf0 HEAT_BRANCH: main HEAT_COMMIT_HASH: '' HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests HEAT_KUTTL_NAMESPACE: heat-kuttl-tests HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git HEAT_SERVICE_ENABLED: 'true' HORIZON: config/samples/horizon_v1beta1_horizon.yaml HORIZON_BRANCH: main HORIZON_COMMIT_HASH: '' HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml HORIZON_DEPL_IMG: unused HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git INFRA_BRANCH: main INFRA_COMMIT_HASH: '' INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests INFRA_KUTTL_NAMESPACE: infra-kuttl-tests INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git INSTALL_CERT_MANAGER: 'true' INSTALL_NMSTATE: true || false INSTALL_NNCP: true || false INTERNALAPI_HOST_ROUTES: '' IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 IPV6_LAB_LIBVIRT_STORAGE_POOL: default IPV6_LAB_MANAGE_FIREWALLD: 'true' IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' IPV6_LAB_NETWORK_NAME: nat64 IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 IPV6_LAB_SNO_HOST_PREFIX: '64' IPV6_LAB_SNO_INSTANCE_NAME: sno IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp IPV6_LAB_SNO_OCP_VERSION: latest-4.14 IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab IRONIC: config/samples/ironic_v1beta1_ironic.yaml IRONICAPI_DEPL_IMG: unused IRONICCON_DEPL_IMG: unused IRONICINS_DEPL_IMG: unused IRONICNAG_DEPL_IMG: unused IRONICPXE_DEPL_IMG: unused IRONIC_BRANCH: main IRONIC_COMMIT_HASH: '' IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml IRONIC_IMAGE_TAG: release-24.1 IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml KEYSTONEAPI_DEPL_IMG: unused KEYSTONE_BRANCH: main KEYSTONE_COMMIT_HASH: '' KEYSTONE_FEDERATION_CLIENT_SECRET: COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests KEYSTONE_REPO: https://github.com/openstack-k8s-operators/keystone-operator.git KUBEADMIN_PWD: '12345678' LIBVIRT_SECRET: libvirt-secret LOKI_DEPLOY_MODE: openshift-network LOKI_DEPLOY_NAMESPACE: netobserv LOKI_DEPLOY_SIZE: 1x.demo LOKI_NAMESPACE: openshift-operators-redhat LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki LOKI_SUBSCRIPTION: loki-operator LVMS_CR: '1' MANILA: config/samples/manila_v1beta1_manila.yaml MANILAAPI_DEPL_IMG: unused MANILASCH_DEPL_IMG: unused MANILASHARE_DEPL_IMG: unused MANILA_BRANCH: main MANILA_COMMIT_HASH: '' MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests MANILA_KUTTL_NAMESPACE: manila-kuttl-tests MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git MANILA_SERVICE_ENABLED: 'true' MARIADB: config/samples/mariadb_v1beta1_galera.yaml MARIADB_BRANCH: main MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests MARIADB_COMMIT_HASH: '' MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml MARIADB_DEPL_IMG: unused MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml MEMCACHED_DEPL_IMG: unused METADATA_SHARED_SECRET: '1234567842' METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 METALLB_POOL: 192.168.122.80-192.168.122.90 MICROSHIFT: '0' NAMESPACE: openstack NETCONFIG: config/samples/network_v1beta1_netconfig.yaml NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml NETCONFIG_DEPL_IMG: unused NETOBSERV_DEPLOY_NAMESPACE: netobserv NETOBSERV_NAMESPACE: openshift-netobserv-operator NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net NETOBSERV_SUBSCRIPTION: netobserv-operator NETWORK_BGP: 'false' NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 NETWORK_ISOLATION: 'true' NETWORK_ISOLATION_INSTANCE_NAME: crc NETWORK_ISOLATION_IPV4: 'true' NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 NETWORK_ISOLATION_IPV4_NAT: 'true' NETWORK_ISOLATION_IPV6: 'false' NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' NETWORK_ISOLATION_NETWORK_NAME: net-iso NETWORK_ISOLATION_NET_NAME: default NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' NETWORK_MTU: '1500' NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 NETWORK_STORAGE_MACVLAN: '' NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 NETWORK_VLAN_START: '20' NETWORK_VLAN_STEP: '1' NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml NEUTRONAPI_DEPL_IMG: unused NEUTRON_BRANCH: main NEUTRON_COMMIT_HASH: '' NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git NFS_HOME: /home/nfs NMSTATE_NAMESPACE: openshift-nmstate NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator NNCP_ADDITIONAL_HOST_ROUTES: '' NNCP_BGP_1_INTERFACE: enp7s0 NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 NNCP_BGP_2_INTERFACE: enp8s0 NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 NNCP_BRIDGE: ospbr NNCP_CLEANUP_TIMEOUT: 120s NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' NNCP_DNS_SERVER: 192.168.122.1 NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 NNCP_GATEWAY: 192.168.122.1 NNCP_GATEWAY_IPV6: fd00:aaaa::1 NNCP_INTERFACE: enp6s0 NNCP_NODES: '' NNCP_TIMEOUT: 240s NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_BRANCH: main NOVA_COMMIT_HASH: '' NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git NUMBER_OF_INSTANCES: '1' OCP_NETWORK_NAME: crc OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_BRANCH: main OCTAVIA_COMMIT_HASH: '' OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git OKD: 'false' OPENSTACK_BRANCH: main OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest OPENSTACK_COMMIT_HASH: '' OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_CRDS_DIR: openstack_crds OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest OPENSTACK_K8S_BRANCH: main OPENSTACK_K8S_TAG: latest OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests OPENSTACK_NEUTRON_CUSTOM_CONF: '' OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator OPERATOR_CHANNEL: '' OPERATOR_NAMESPACE: openstack-operators OPERATOR_SOURCE: '' OPERATOR_SOURCE_NAMESPACE: '' OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml OVNCONTROLLER_NMAP: 'true' OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml OVN_BRANCH: main OVN_COMMIT_HASH: '' OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests OVN_KUTTL_NAMESPACE: ovn-kuttl-tests OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git PASSWORD: '12345678' PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml PLACEMENTAPI_DEPL_IMG: unused PLACEMENT_BRANCH: main PLACEMENT_COMMIT_HASH: '' PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_BRANCH: patches RABBITMQ_COMMIT_HASH: '' RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml RABBITMQ_DEPL_IMG: unused RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git REDHAT_OPERATORS: 'false' REDIS: config/samples/redis_v1beta1_redis.yaml REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml REDIS_DEPL_IMG: unused RH_REGISTRY_PWD: '' RH_REGISTRY_USER: '' SECRET: osp-secret SG_CORE_DEPL_IMG: unused STANDALONE_COMPUTE_DRIVER: libvirt STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 STANDALONE_STORAGE_NET_PREFIX: 172.18.0 STANDALONE_TENANT_NET_PREFIX: 172.19.0 STORAGEMGMT_HOST_ROUTES: '' STORAGE_CLASS: local-storage STORAGE_HOST_ROUTES: '' SWIFT: config/samples/swift_v1beta1_swift.yaml SWIFT_BRANCH: main SWIFT_COMMIT_HASH: '' SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_BRANCH: main TELEMETRY_COMMIT_HASH: '' TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: test/kuttl/suites TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git TENANT_HOST_ROUTES: '' TIMEOUT: 300s TLS_ENABLED: 'false' tripleo_deploy: 'export REGISTRY_USER:' 2025-11-28 12:03:54,711 p=31757 u=zuul n=ansible | TASK [install_yamls : Generate make targets install_yamls_path={{ cifmw_install_yamls_repo }}, output_directory={{ cifmw_install_yamls_tasks_out }}] *** 2025-11-28 12:03:54,712 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.037) 0:01:00.376 ******* 2025-11-28 12:03:54,712 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:54 +0000 (0:00:00.037) 0:01:00.375 ******* 2025-11-28 12:03:55,018 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:55,028 p=31757 u=zuul n=ansible | TASK [install_yamls : Debug generate_make module var=cifmw_generate_makes] ***** 2025-11-28 12:03:55,029 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.317) 0:01:00.693 ******* 2025-11-28 12:03:55,029 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.317) 0:01:00.692 ******* 2025-11-28 12:03:55,052 p=31757 u=zuul n=ansible | ok: [localhost] => cifmw_generate_makes: changed: false debug: /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile: - all - help - cleanup - deploy_cleanup - wait - crc_storage - crc_storage_cleanup - crc_storage_release - crc_storage_with_retries - crc_storage_cleanup_with_retries - operator_namespace - namespace - namespace_cleanup - input - input_cleanup - crc_bmo_setup - crc_bmo_cleanup - openstack_prep - openstack - openstack_wait - openstack_init - openstack_cleanup - openstack_repo - openstack_deploy_prep - openstack_deploy - openstack_wait_deploy - openstack_deploy_cleanup - openstack_update_run - update_services - update_system - openstack_patch_version - edpm_deploy_generate_keys - edpm_patch_ansible_runner_image - edpm_deploy_prep - edpm_deploy_cleanup - edpm_deploy - edpm_deploy_baremetal_prep - edpm_deploy_baremetal - edpm_wait_deploy_baremetal - edpm_wait_deploy - edpm_register_dns - edpm_nova_discover_hosts - openstack_crds - openstack_crds_cleanup - edpm_deploy_networker_prep - edpm_deploy_networker_cleanup - edpm_deploy_networker - infra_prep - infra - infra_cleanup - dns_deploy_prep - dns_deploy - dns_deploy_cleanup - netconfig_deploy_prep - netconfig_deploy - netconfig_deploy_cleanup - memcached_deploy_prep - memcached_deploy - memcached_deploy_cleanup - keystone_prep - keystone - keystone_cleanup - keystone_deploy_prep - keystone_deploy - keystone_deploy_cleanup - barbican_prep - barbican - barbican_cleanup - barbican_deploy_prep - barbican_deploy - barbican_deploy_validate - barbican_deploy_cleanup - mariadb - mariadb_cleanup - mariadb_deploy_prep - mariadb_deploy - mariadb_deploy_cleanup - placement_prep - placement - placement_cleanup - placement_deploy_prep - placement_deploy - placement_deploy_cleanup - glance_prep - glance - glance_cleanup - glance_deploy_prep - glance_deploy - glance_deploy_cleanup - ovn_prep - ovn - ovn_cleanup - ovn_deploy_prep - ovn_deploy - ovn_deploy_cleanup - neutron_prep - neutron - neutron_cleanup - neutron_deploy_prep - neutron_deploy - neutron_deploy_cleanup - cinder_prep - cinder - cinder_cleanup - cinder_deploy_prep - cinder_deploy - cinder_deploy_cleanup - rabbitmq_prep - rabbitmq - rabbitmq_cleanup - rabbitmq_deploy_prep - rabbitmq_deploy - rabbitmq_deploy_cleanup - ironic_prep - ironic - ironic_cleanup - ironic_deploy_prep - ironic_deploy - ironic_deploy_cleanup - octavia_prep - octavia - octavia_cleanup - octavia_deploy_prep - octavia_deploy - octavia_deploy_cleanup - designate_prep - designate - designate_cleanup - designate_deploy_prep - designate_deploy - designate_deploy_cleanup - nova_prep - nova - nova_cleanup - nova_deploy_prep - nova_deploy - nova_deploy_cleanup - mariadb_kuttl_run - mariadb_kuttl - kuttl_db_prep - kuttl_db_cleanup - kuttl_common_prep - kuttl_common_cleanup - keystone_kuttl_run - keystone_kuttl - barbican_kuttl_run - barbican_kuttl - placement_kuttl_run - placement_kuttl - cinder_kuttl_run - cinder_kuttl - neutron_kuttl_run - neutron_kuttl - octavia_kuttl_run - octavia_kuttl - designate_kuttl - designate_kuttl_run - ovn_kuttl_run - ovn_kuttl - infra_kuttl_run - infra_kuttl - ironic_kuttl_run - ironic_kuttl - ironic_kuttl_crc - heat_kuttl_run - heat_kuttl - heat_kuttl_crc - ansibleee_kuttl_run - ansibleee_kuttl_cleanup - ansibleee_kuttl_prep - ansibleee_kuttl - glance_kuttl_run - glance_kuttl - manila_kuttl_run - manila_kuttl - swift_kuttl_run - swift_kuttl - horizon_kuttl_run - horizon_kuttl - openstack_kuttl_run - openstack_kuttl - mariadb_chainsaw_run - mariadb_chainsaw - horizon_prep - horizon - horizon_cleanup - horizon_deploy_prep - horizon_deploy - horizon_deploy_cleanup - heat_prep - heat - heat_cleanup - heat_deploy_prep - heat_deploy - heat_deploy_cleanup - ansibleee_prep - ansibleee - ansibleee_cleanup - baremetal_prep - baremetal - baremetal_cleanup - ceph_help - ceph - ceph_cleanup - rook_prep - rook - rook_deploy_prep - rook_deploy - rook_crc_disk - rook_cleanup - lvms - nmstate - nncp - nncp_cleanup - netattach - netattach_cleanup - metallb - metallb_config - metallb_config_cleanup - metallb_cleanup - loki - loki_cleanup - loki_deploy - loki_deploy_cleanup - netobserv - netobserv_cleanup - netobserv_deploy - netobserv_deploy_cleanup - manila_prep - manila - manila_cleanup - manila_deploy_prep - manila_deploy - manila_deploy_cleanup - telemetry_prep - telemetry - telemetry_cleanup - telemetry_deploy_prep - telemetry_deploy - telemetry_deploy_cleanup - telemetry_kuttl_run - telemetry_kuttl - swift_prep - swift - swift_cleanup - swift_deploy_prep - swift_deploy - swift_deploy_cleanup - certmanager - certmanager_cleanup - validate_marketplace - redis_deploy_prep - redis_deploy - redis_deploy_cleanup - set_slower_etcd_profile /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile: - help - download_tools - nfs - nfs_cleanup - crc - crc_cleanup - crc_scrub - crc_attach_default_interface - crc_attach_default_interface_cleanup - ipv6_lab_network - ipv6_lab_network_cleanup - ipv6_lab_nat64_router - ipv6_lab_nat64_router_cleanup - ipv6_lab_sno - ipv6_lab_sno_cleanup - ipv6_lab - ipv6_lab_cleanup - attach_default_interface - attach_default_interface_cleanup - network_isolation_bridge - network_isolation_bridge_cleanup - edpm_baremetal_compute - edpm_compute - edpm_compute_bootc - edpm_ansible_runner - edpm_computes_bgp - edpm_compute_repos - edpm_compute_cleanup - edpm_networker - edpm_networker_cleanup - edpm_deploy_instance - tripleo_deploy - standalone_deploy - standalone_sync - standalone - standalone_cleanup - standalone_snapshot - standalone_revert - cifmw_prepare - cifmw_cleanup - bmaas_network - bmaas_network_cleanup - bmaas_route_crc_and_crc_bmaas_networks - bmaas_route_crc_and_crc_bmaas_networks_cleanup - bmaas_crc_attach_network - bmaas_crc_attach_network_cleanup - bmaas_crc_baremetal_bridge - bmaas_crc_baremetal_bridge_cleanup - bmaas_baremetal_net_nad - bmaas_baremetal_net_nad_cleanup - bmaas_metallb - bmaas_metallb_cleanup - bmaas_virtual_bms - bmaas_virtual_bms_cleanup - bmaas_sushy_emulator - bmaas_sushy_emulator_cleanup - bmaas_sushy_emulator_wait - bmaas_generate_nodes_yaml - bmaas - bmaas_cleanup failed: false success: true 2025-11-28 12:03:55,062 p=31757 u=zuul n=ansible | TASK [install_yamls : Create the install_yamls parameters file dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, content={{ { 'cifmw_install_yamls_environment': cifmw_install_yamls_environment, 'cifmw_install_yamls_defaults': cifmw_install_yamls_defaults } | to_nice_yaml }}, mode=0644] *** 2025-11-28 12:03:55,062 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.033) 0:01:00.727 ******* 2025-11-28 12:03:55,066 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.037) 0:01:00.729 ******* 2025-11-28 12:03:55,491 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:55,501 p=31757 u=zuul n=ansible | TASK [install_yamls : Create empty cifmw_install_yamls_environment if needed cifmw_install_yamls_environment={}] *** 2025-11-28 12:03:55,501 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.439) 0:01:01.166 ******* 2025-11-28 12:03:55,501 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.435) 0:01:01.165 ******* 2025-11-28 12:03:55,521 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:55,543 p=31757 u=zuul n=ansible | TASK [discover_latest_image : Get latest image url={{ cifmw_discover_latest_image_base_url }}, image_prefix={{ cifmw_discover_latest_image_qcow_prefix }}, images_file={{ cifmw_discover_latest_image_images_file }}] *** 2025-11-28 12:03:55,543 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.041) 0:01:01.208 ******* 2025-11-28 12:03:55,543 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.041) 0:01:01.207 ******* 2025-11-28 12:03:55,942 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:55,950 p=31757 u=zuul n=ansible | TASK [discover_latest_image : Export facts accordingly cifmw_discovered_image_name={{ discovered_image['data']['image_name'] }}, cifmw_discovered_image_url={{ discovered_image['data']['image_url'] }}, cifmw_discovered_hash={{ discovered_image['data']['hash'] }}, cifmw_discovered_hash_algorithm={{ discovered_image['data']['hash_algorithm'] }}, cacheable=True] *** 2025-11-28 12:03:55,950 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.407) 0:01:01.615 ******* 2025-11-28 12:03:55,950 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.407) 0:01:01.614 ******* 2025-11-28 12:03:55,973 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:03:55,986 p=31757 u=zuul n=ansible | TASK [cifmw_setup : Create artifacts with custom params mode=0644, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/custom-params.yml, content={{ ci_framework_params | to_nice_yaml }}] *** 2025-11-28 12:03:55,986 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.035) 0:01:01.651 ******* 2025-11-28 12:03:55,986 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:55 +0000 (0:00:00.035) 0:01:01.649 ******* 2025-11-28 12:03:56,373 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:03:56,405 p=31757 u=zuul n=ansible | PLAY [Install deps and prepare for KUTTL run] ********************************** 2025-11-28 12:03:56,425 p=31757 u=zuul n=ansible | TASK [Download install_yamls deps name=install_yamls_makes, tasks_from=make_download_tools] *** 2025-11-28 12:03:56,426 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.439) 0:01:02.091 ******* 2025-11-28 12:03:56,426 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.439) 0:01:02.089 ******* 2025-11-28 12:03:56,474 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_download_tools_env var=make_download_tools_env] *** 2025-11-28 12:03:56,474 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.048) 0:01:02.139 ******* 2025-11-28 12:03:56,475 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.048) 0:01:02.138 ******* 2025-11-28 12:03:56,493 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:56,499 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_download_tools_params var=make_download_tools_params] *** 2025-11-28 12:03:56,500 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.025) 0:01:02.164 ******* 2025-11-28 12:03:56,500 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.025) 0:01:02.163 ******* 2025-11-28 12:03:56,518 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:03:56,526 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Run download_tools output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup, script=make download_tools, dry_run={{ make_download_tools_dryrun|default(false)|bool }}, extra_args={{ dict((make_download_tools_env|default({})), **(make_download_tools_params|default({}))) }}] *** 2025-11-28 12:03:56,526 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.026) 0:01:02.191 ******* 2025-11-28 12:03:56,527 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:03:56 +0000 (0:00:00.026) 0:01:02.190 ******* 2025-11-28 12:03:56,564 p=31757 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_000_run_download.log 2025-11-28 12:04:32,253 p=31757 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ make_download_tools_until | default(true) }} 2025-11-28 12:04:32,255 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:32,273 p=31757 u=zuul n=ansible | TASK [Login into Openshift cluster name=openshift_login] *********************** 2025-11-28 12:04:32,273 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:35.746) 0:01:37.938 ******* 2025-11-28 12:04:32,273 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:35.746) 0:01:37.936 ******* 2025-11-28 12:04:32,329 p=31757 u=zuul n=ansible | TASK [openshift_login : Ensure output directory exists path={{ cifmw_openshift_login_basedir }}/artifacts, state=directory, mode=0755] *** 2025-11-28 12:04:32,329 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.055) 0:01:37.994 ******* 2025-11-28 12:04:32,329 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.055) 0:01:37.992 ******* 2025-11-28 12:04:32,519 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:32,533 p=31757 u=zuul n=ansible | TASK [openshift_login : OpenShift login _raw_params=login.yml] ***************** 2025-11-28 12:04:32,533 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.204) 0:01:38.198 ******* 2025-11-28 12:04:32,534 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.204) 0:01:38.197 ******* 2025-11-28 12:04:32,565 p=31757 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/login.yml for localhost 2025-11-28 12:04:32,574 p=31757 u=zuul n=ansible | TASK [openshift_login : Check if the password file is present path={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-11-28 12:04:32,574 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.040) 0:01:38.239 ******* 2025-11-28 12:04:32,574 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.040) 0:01:38.237 ******* 2025-11-28 12:04:32,592 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:32,599 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch user password content src={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-11-28 12:04:32,600 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.025) 0:01:38.264 ******* 2025-11-28 12:04:32,600 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.025) 0:01:38.263 ******* 2025-11-28 12:04:32,619 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:32,627 p=31757 u=zuul n=ansible | TASK [openshift_login : Set user password as a fact cifmw_openshift_login_password={{ cifmw_openshift_login_password_file_slurp.content | b64decode }}, cacheable=True] *** 2025-11-28 12:04:32,627 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.291 ******* 2025-11-28 12:04:32,627 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.290 ******* 2025-11-28 12:04:32,647 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:32,654 p=31757 u=zuul n=ansible | TASK [openshift_login : Set role variables cifmw_openshift_login_kubeconfig={{ cifmw_openshift_login_kubeconfig | default(cifmw_openshift_kubeconfig) | default( ansible_env.KUBECONFIG if 'KUBECONFIG' in ansible_env else cifmw_openshift_login_kubeconfig_default_path ) | trim }}, cifmw_openshift_login_user={{ cifmw_openshift_login_user | default(cifmw_openshift_user) | default(omit) }}, cifmw_openshift_login_password={{ cifmw_openshift_login_password | default(cifmw_openshift_password) | default(omit) }}, cifmw_openshift_login_api={{ cifmw_openshift_login_api | default(cifmw_openshift_api) | default(omit) }}, cifmw_openshift_login_cert_login={{ cifmw_openshift_login_cert_login | default(false)}}, cifmw_openshift_login_provided_token={{ cifmw_openshift_provided_token | default(omit) }}, cacheable=True] *** 2025-11-28 12:04:32,654 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.319 ******* 2025-11-28 12:04:32,654 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.318 ******* 2025-11-28 12:04:32,684 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:32,690 p=31757 u=zuul n=ansible | TASK [openshift_login : Check if kubeconfig exists path={{ cifmw_openshift_login_kubeconfig }}] *** 2025-11-28 12:04:32,690 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.036) 0:01:38.355 ******* 2025-11-28 12:04:32,691 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.036) 0:01:38.354 ******* 2025-11-28 12:04:32,853 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:32,861 p=31757 u=zuul n=ansible | TASK [openshift_login : Assert that enough data is provided to log in to OpenShift that=cifmw_openshift_login_kubeconfig_stat.stat.exists or (cifmw_openshift_login_provided_token is defined and cifmw_openshift_login_provided_token != '') or ( (cifmw_openshift_login_user is defined) and (cifmw_openshift_login_password is defined) and (cifmw_openshift_login_api is defined) ), msg=If an existing kubeconfig is not provided user/pwd or provided/initial token and API URL must be given] *** 2025-11-28 12:04:32,861 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.170) 0:01:38.526 ******* 2025-11-28 12:04:32,861 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.170) 0:01:38.524 ******* 2025-11-28 12:04:32,886 p=31757 u=zuul n=ansible | ok: [localhost] => changed: false msg: All assertions passed 2025-11-28 12:04:32,893 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch kubeconfig content src={{ cifmw_openshift_login_kubeconfig }}] *** 2025-11-28 12:04:32,894 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.032) 0:01:38.558 ******* 2025-11-28 12:04:32,894 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.032) 0:01:38.557 ******* 2025-11-28 12:04:32,914 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:32,921 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch x509 key based users cifmw_openshift_login_key_based_users={{ ( cifmw_openshift_login_kubeconfig_content_b64.content | b64decode | from_yaml ). users | default([]) | selectattr('user.client-certificate-data', 'defined') | map(attribute="name") | map("split", "/") | map("first") }}, cacheable=True] *** 2025-11-28 12:04:32,922 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.586 ******* 2025-11-28 12:04:32,922 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.585 ******* 2025-11-28 12:04:32,940 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:32,948 p=31757 u=zuul n=ansible | TASK [openshift_login : Assign key based user if not provided and available cifmw_openshift_login_user={{ (cifmw_openshift_login_assume_cert_system_user | ternary('system:', '')) + (cifmw_openshift_login_key_based_users | map('replace', 'system:', '') | unique | first) }}, cifmw_openshift_login_cert_login=True, cacheable=True] *** 2025-11-28 12:04:32,948 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.026) 0:01:38.613 ******* 2025-11-28 12:04:32,948 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.026) 0:01:38.611 ******* 2025-11-28 12:04:32,968 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:32,975 p=31757 u=zuul n=ansible | TASK [openshift_login : Set the retry count cifmw_openshift_login_retries_cnt={{ 0 if cifmw_openshift_login_retries_cnt is undefined else cifmw_openshift_login_retries_cnt|int + 1 }}] *** 2025-11-28 12:04:32,976 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.640 ******* 2025-11-28 12:04:32,976 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:32 +0000 (0:00:00.027) 0:01:38.639 ******* 2025-11-28 12:04:32,998 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:33,007 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch token _raw_params=try_login.yml] ***************** 2025-11-28 12:04:33,007 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.031) 0:01:38.672 ******* 2025-11-28 12:04:33,007 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.031) 0:01:38.670 ******* 2025-11-28 12:04:33,028 p=31757 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml for localhost 2025-11-28 12:04:33,036 p=31757 u=zuul n=ansible | TASK [openshift_login : Try get OpenShift access token _raw_params=oc whoami -t] *** 2025-11-28 12:04:33,036 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.029) 0:01:38.701 ******* 2025-11-28 12:04:33,036 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.029) 0:01:38.699 ******* 2025-11-28 12:04:33,311 p=31757 u=zuul n=ansible | fatal: [localhost]: FAILED! => changed: true cmd: - oc - whoami - -t delta: '0:00:00.109882' end: '2025-11-28 12:04:33.294624' msg: non-zero return code rc: 1 start: '2025-11-28 12:04:33.184742' stderr: |- error: Missing or incomplete configuration info. Please point to an existing, complete config file: 1. Via the command-line flag --kubeconfig 2. Via the KUBECONFIG environment variable 3. In your home directory as ~/.kube/config To view or setup config directly use the 'config' command. stderr_lines: - 'error: Missing or incomplete configuration info. Please point to an existing, complete config file:' - '' - '' - ' 1. Via the command-line flag --kubeconfig' - ' 2. Via the KUBECONFIG environment variable' - ' 3. In your home directory as ~/.kube/config' - '' - To view or setup config directly use the 'config' command. stdout: '' stdout_lines: [] 2025-11-28 12:04:33,311 p=31757 u=zuul n=ansible | ...ignoring 2025-11-28 12:04:33,318 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift token output_dir={{ cifmw_openshift_login_basedir }}/artifacts, script=oc login {%- if cifmw_openshift_login_provided_token is not defined %} {%- if cifmw_openshift_login_user is defined %} -u {{ cifmw_openshift_login_user }} {%- endif %} {%- if cifmw_openshift_login_password is defined %} -p {{ cifmw_openshift_login_password }} {%- endif %} {% else %} --token={{ cifmw_openshift_login_provided_token }} {%- endif %} {%- if cifmw_openshift_login_skip_tls_verify|bool %} --insecure-skip-tls-verify=true {%- endif %} {%- if cifmw_openshift_login_api is defined %} {{ cifmw_openshift_login_api }} {%- endif %}] *** 2025-11-28 12:04:33,318 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.282) 0:01:38.983 ******* 2025-11-28 12:04:33,318 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.282) 0:01:38.982 ******* 2025-11-28 12:04:33,366 p=31757 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-11-28 12:04:33,755 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:33,772 p=31757 u=zuul n=ansible | TASK [openshift_login : Ensure kubeconfig is provided that=cifmw_openshift_login_kubeconfig != ""] *** 2025-11-28 12:04:33,772 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.454) 0:01:39.437 ******* 2025-11-28 12:04:33,773 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.454) 0:01:39.436 ******* 2025-11-28 12:04:33,793 p=31757 u=zuul n=ansible | ok: [localhost] => changed: false msg: All assertions passed 2025-11-28 12:04:33,803 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch new OpenShift access token _raw_params=oc whoami -t] *** 2025-11-28 12:04:33,803 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.030) 0:01:39.468 ******* 2025-11-28 12:04:33,803 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:33 +0000 (0:00:00.030) 0:01:39.467 ******* 2025-11-28 12:04:34,113 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:34,120 p=31757 u=zuul n=ansible | TASK [openshift_login : Set new OpenShift token cifmw_openshift_login_token={{ (not cifmw_openshift_login_new_token_out.skipped | default(false)) | ternary(cifmw_openshift_login_new_token_out.stdout, cifmw_openshift_login_whoami_out.stdout) }}, cacheable=True] *** 2025-11-28 12:04:34,120 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.317) 0:01:39.785 ******* 2025-11-28 12:04:34,121 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.317) 0:01:39.784 ******* 2025-11-28 12:04:34,143 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:34,150 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift API URL _raw_params=oc whoami --show-server=true] *** 2025-11-28 12:04:34,150 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.029) 0:01:39.815 ******* 2025-11-28 12:04:34,150 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.029) 0:01:39.813 ******* 2025-11-28 12:04:34,451 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:34,460 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift kubeconfig context _raw_params=oc whoami -c] *** 2025-11-28 12:04:34,460 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.310) 0:01:40.125 ******* 2025-11-28 12:04:34,460 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.310) 0:01:40.124 ******* 2025-11-28 12:04:34,754 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:34,764 p=31757 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift current user _raw_params=oc whoami] **** 2025-11-28 12:04:34,764 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.303) 0:01:40.429 ******* 2025-11-28 12:04:34,764 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:34 +0000 (0:00:00.303) 0:01:40.428 ******* 2025-11-28 12:04:35,057 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:35,065 p=31757 u=zuul n=ansible | TASK [openshift_login : Set OpenShift user, context and API facts cifmw_openshift_login_api={{ cifmw_openshift_login_api_out.stdout }}, cifmw_openshift_login_context={{ cifmw_openshift_login_context_out.stdout }}, cifmw_openshift_login_user={{ _oauth_user }}, cifmw_openshift_kubeconfig={{ cifmw_openshift_login_kubeconfig }}, cifmw_openshift_api={{ cifmw_openshift_login_api_out.stdout }}, cifmw_openshift_context={{ cifmw_openshift_login_context_out.stdout }}, cifmw_openshift_user={{ _oauth_user }}, cifmw_openshift_token={{ cifmw_openshift_login_token | default(omit) }}, cifmw_install_yamls_environment={{ ( cifmw_install_yamls_environment | combine({'KUBECONFIG': cifmw_openshift_login_kubeconfig}) ) if cifmw_install_yamls_environment is defined else omit }}, cacheable=True] *** 2025-11-28 12:04:35,065 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.300) 0:01:40.730 ******* 2025-11-28 12:04:35,065 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.300) 0:01:40.728 ******* 2025-11-28 12:04:35,095 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:35,102 p=31757 u=zuul n=ansible | TASK [openshift_login : Create the openshift_login parameters file dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/openshift-login-params.yml, content={{ cifmw_openshift_login_params_content | from_yaml | to_nice_yaml }}, mode=0600] *** 2025-11-28 12:04:35,102 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.036) 0:01:40.767 ******* 2025-11-28 12:04:35,102 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.036) 0:01:40.765 ******* 2025-11-28 12:04:35,471 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:35,479 p=31757 u=zuul n=ansible | TASK [openshift_login : Read the install yamls parameters file path={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml] *** 2025-11-28 12:04:35,479 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.376) 0:01:41.144 ******* 2025-11-28 12:04:35,479 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.376) 0:01:41.142 ******* 2025-11-28 12:04:35,776 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:35,794 p=31757 u=zuul n=ansible | TASK [openshift_login : Append the KUBECONFIG to the install yamls parameters content={{ cifmw_openshift_login_install_yamls_artifacts_slurp['content'] | b64decode | from_yaml | combine( { 'cifmw_install_yamls_environment': { 'KUBECONFIG': cifmw_openshift_login_kubeconfig } }, recursive=true) | to_nice_yaml }}, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, mode=0600] *** 2025-11-28 12:04:35,794 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.315) 0:01:41.459 ******* 2025-11-28 12:04:35,794 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:35 +0000 (0:00:00.315) 0:01:41.458 ******* 2025-11-28 12:04:36,268 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:36,281 p=31757 u=zuul n=ansible | TASK [openshift_setup : Ensure output directory exists path={{ cifmw_openshift_setup_basedir }}/artifacts, state=directory, mode=0755] *** 2025-11-28 12:04:36,281 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:36 +0000 (0:00:00.486) 0:01:41.946 ******* 2025-11-28 12:04:36,281 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:36 +0000 (0:00:00.486) 0:01:41.944 ******* 2025-11-28 12:04:36,488 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:36,495 p=31757 u=zuul n=ansible | TASK [openshift_setup : Fetch namespaces to create cifmw_openshift_setup_namespaces={{ (( ([cifmw_install_yamls_defaults['NAMESPACE']] + ([cifmw_install_yamls_defaults['OPERATOR_NAMESPACE']] if 'OPERATOR_NAMESPACE' is in cifmw_install_yamls_defaults else []) ) if cifmw_install_yamls_defaults is defined else [] ) + cifmw_openshift_setup_create_namespaces) | unique }}] *** 2025-11-28 12:04:36,496 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:36 +0000 (0:00:00.214) 0:01:42.160 ******* 2025-11-28 12:04:36,496 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:36 +0000 (0:00:00.214) 0:01:42.159 ******* 2025-11-28 12:04:36,527 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:36,538 p=31757 u=zuul n=ansible | TASK [openshift_setup : Create required namespaces kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit) }}, name={{ item }}, kind=Namespace, state=present] *** 2025-11-28 12:04:36,538 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:36 +0000 (0:00:00.042) 0:01:42.203 ******* 2025-11-28 12:04:36,538 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:36 +0000 (0:00:00.042) 0:01:42.201 ******* 2025-11-28 12:04:37,776 p=31757 u=zuul n=ansible | changed: [localhost] => (item=openstack) 2025-11-28 12:04:38,501 p=31757 u=zuul n=ansible | changed: [localhost] => (item=openstack-operators) 2025-11-28 12:04:38,514 p=31757 u=zuul n=ansible | TASK [openshift_setup : Get internal OpenShift registry route kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Route, name=default-route, namespace=openshift-image-registry] *** 2025-11-28 12:04:38,514 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:01.976) 0:01:44.179 ******* 2025-11-28 12:04:38,515 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:01.976) 0:01:44.178 ******* 2025-11-28 12:04:38,532 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,540 p=31757 u=zuul n=ansible | TASK [openshift_setup : Allow anonymous image-pulls in CRC registry for targeted namespaces state=present, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'kind': 'RoleBinding', 'apiVersion': 'rbac.authorization.k8s.io/v1', 'metadata': {'name': 'system:image-puller', 'namespace': '{{ item }}'}, 'subjects': [{'kind': 'User', 'name': 'system:anonymous'}, {'kind': 'User', 'name': 'system:unauthenticated'}], 'roleRef': {'kind': 'ClusterRole', 'name': 'system:image-puller'}}] *** 2025-11-28 12:04:38,540 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.025) 0:01:44.205 ******* 2025-11-28 12:04:38,540 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.025) 0:01:44.203 ******* 2025-11-28 12:04:38,566 p=31757 u=zuul n=ansible | skipping: [localhost] => (item=openstack) 2025-11-28 12:04:38,568 p=31757 u=zuul n=ansible | skipping: [localhost] => (item=openstack-operators) 2025-11-28 12:04:38,569 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,576 p=31757 u=zuul n=ansible | TASK [openshift_setup : Wait for the image registry to be ready kind=Deployment, name=image-registry, namespace=openshift-image-registry, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, wait=True, wait_sleep=10, wait_timeout=600, wait_condition={'type': 'Available', 'status': 'True'}] *** 2025-11-28 12:04:38,576 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.036) 0:01:44.241 ******* 2025-11-28 12:04:38,577 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.036) 0:01:44.240 ******* 2025-11-28 12:04:38,603 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,611 p=31757 u=zuul n=ansible | TASK [openshift_setup : Login into OpenShift internal registry output_dir={{ cifmw_openshift_setup_basedir }}/artifacts, script=podman login -u {{ cifmw_openshift_user }} -p {{ cifmw_openshift_token }} {%- if cifmw_openshift_setup_skip_internal_registry_tls_verify|bool %} --tls-verify=false {%- endif %} {{ cifmw_openshift_setup_registry_default_route.resources[0].spec.host }}] *** 2025-11-28 12:04:38,611 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.034) 0:01:44.276 ******* 2025-11-28 12:04:38,611 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.034) 0:01:44.275 ******* 2025-11-28 12:04:38,638 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,646 p=31757 u=zuul n=ansible | TASK [Ensure we have custom CA installed on host role=install_ca] ************** 2025-11-28 12:04:38,646 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.035) 0:01:44.311 ******* 2025-11-28 12:04:38,646 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.035) 0:01:44.310 ******* 2025-11-28 12:04:38,676 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,684 p=31757 u=zuul n=ansible | TASK [openshift_setup : Update ca bundle _raw_params=update-ca-trust extract] *** 2025-11-28 12:04:38,685 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.038) 0:01:44.349 ******* 2025-11-28 12:04:38,685 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.038) 0:01:44.348 ******* 2025-11-28 12:04:38,708 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,716 p=31757 u=zuul n=ansible | TASK [openshift_setup : Slurp CAs file src={{ cifmw_openshift_setup_ca_bundle_path }}] *** 2025-11-28 12:04:38,716 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.031) 0:01:44.381 ******* 2025-11-28 12:04:38,716 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.031) 0:01:44.379 ******* 2025-11-28 12:04:38,735 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,743 p=31757 u=zuul n=ansible | TASK [openshift_setup : Create config map with registry CAs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'apiVersion': 'v1', 'kind': 'ConfigMap', 'metadata': {'namespace': 'openshift-config', 'name': 'registry-cas'}, 'data': '{{ _config_map_data | items2dict }}'}] *** 2025-11-28 12:04:38,743 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.027) 0:01:44.408 ******* 2025-11-28 12:04:38,743 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.027) 0:01:44.406 ******* 2025-11-28 12:04:38,762 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,769 p=31757 u=zuul n=ansible | TASK [openshift_setup : Install Red Hat CA for pulling images from internal registry kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, merge_type=merge, definition={'apiVersion': 'config.openshift.io/v1', 'kind': 'Image', 'metadata': {'name': 'cluster'}, 'spec': {'additionalTrustedCA': {'name': 'registry-cas'}}}] *** 2025-11-28 12:04:38,770 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.026) 0:01:44.434 ******* 2025-11-28 12:04:38,770 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.026) 0:01:44.433 ******* 2025-11-28 12:04:38,788 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,796 p=31757 u=zuul n=ansible | TASK [openshift_setup : Add insecure registry kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, merge_type=merge, definition={'apiVersion': 'config.openshift.io/v1', 'kind': 'Image', 'metadata': {'name': 'cluster'}, 'spec': {'registrySources': {'insecureRegistries': ['{{ cifmw_update_containers_registry }}'], 'allowedRegistries': '{{ all_registries }}'}}}] *** 2025-11-28 12:04:38,796 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.026) 0:01:44.461 ******* 2025-11-28 12:04:38,796 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.026) 0:01:44.459 ******* 2025-11-28 12:04:38,815 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,823 p=31757 u=zuul n=ansible | TASK [openshift_setup : Create a ICSP with repository digest mirrors kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'apiVersion': 'operator.openshift.io/v1alpha1', 'kind': 'ImageContentSourcePolicy', 'metadata': {'name': 'registry-digest-mirrors'}, 'spec': {'repositoryDigestMirrors': '{{ cifmw_openshift_setup_digest_mirrors }}'}}] *** 2025-11-28 12:04:38,823 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.026) 0:01:44.487 ******* 2025-11-28 12:04:38,823 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.026) 0:01:44.486 ******* 2025-11-28 12:04:38,844 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:38,852 p=31757 u=zuul n=ansible | TASK [openshift_setup : Gather network.operator info kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, api_version=operator.openshift.io/v1, kind=Network, name=cluster] *** 2025-11-28 12:04:38,853 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.029) 0:01:44.517 ******* 2025-11-28 12:04:38,853 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:38 +0000 (0:00:00.029) 0:01:44.516 ******* 2025-11-28 12:04:39,722 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:39,739 p=31757 u=zuul n=ansible | TASK [openshift_setup : Patch network operator api_version=operator.openshift.io/v1, kubeconfig={{ cifmw_openshift_kubeconfig }}, kind=Network, name=cluster, persist_config=True, patch=[{'path': '/spec/defaultNetwork/ovnKubernetesConfig/gatewayConfig/routingViaHost', 'value': True, 'op': 'replace'}, {'path': '/spec/defaultNetwork/ovnKubernetesConfig/gatewayConfig/ipForwarding', 'value': 'Global', 'op': 'replace'}]] *** 2025-11-28 12:04:39,739 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:39 +0000 (0:00:00.886) 0:01:45.404 ******* 2025-11-28 12:04:39,739 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:39 +0000 (0:00:00.886) 0:01:45.402 ******* 2025-11-28 12:04:40,602 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:40,620 p=31757 u=zuul n=ansible | TASK [openshift_setup : Patch samples registry configuration kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, api_version=samples.operator.openshift.io/v1, kind=Config, name=cluster, patch=[{'op': 'replace', 'path': '/spec/samplesRegistry', 'value': 'registry.redhat.io'}]] *** 2025-11-28 12:04:40,620 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:40 +0000 (0:00:00.881) 0:01:46.285 ******* 2025-11-28 12:04:40,620 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:40 +0000 (0:00:00.881) 0:01:46.283 ******* 2025-11-28 12:04:41,390 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:41,398 p=31757 u=zuul n=ansible | TASK [openshift_setup : Delete the pods from openshift-marketplace namespace kind=Pod, state=absent, delete_all=True, kubeconfig={{ cifmw_openshift_kubeconfig }}, namespace=openshift-marketplace] *** 2025-11-28 12:04:41,398 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.777) 0:01:47.063 ******* 2025-11-28 12:04:41,398 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.777) 0:01:47.061 ******* 2025-11-28 12:04:41,413 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:41,421 p=31757 u=zuul n=ansible | TASK [openshift_setup : Wait for openshift-marketplace pods to be running _raw_params=oc wait pod --all --for=condition=Ready -n openshift-marketplace --timeout=1m] *** 2025-11-28 12:04:41,421 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.022) 0:01:47.086 ******* 2025-11-28 12:04:41,421 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.022) 0:01:47.084 ******* 2025-11-28 12:04:41,438 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:41,454 p=31757 u=zuul n=ansible | TASK [Attach default network to CRC name=install_yamls_makes, tasks_from=make_crc_attach_default_interface] *** 2025-11-28 12:04:41,454 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.032) 0:01:47.119 ******* 2025-11-28 12:04:41,454 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.032) 0:01:47.117 ******* 2025-11-28 12:04:41,519 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_env var=make_crc_attach_default_interface_env] *** 2025-11-28 12:04:41,520 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.065) 0:01:47.184 ******* 2025-11-28 12:04:41,520 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.065) 0:01:47.183 ******* 2025-11-28 12:04:41,538 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:41,546 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_params var=make_crc_attach_default_interface_params] *** 2025-11-28 12:04:41,546 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.026) 0:01:47.211 ******* 2025-11-28 12:04:41,546 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.026) 0:01:47.209 ******* 2025-11-28 12:04:41,566 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:41,574 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Run crc_attach_default_interface output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup, script=make crc_attach_default_interface, dry_run={{ make_crc_attach_default_interface_dryrun|default(false)|bool }}, extra_args={{ dict((make_crc_attach_default_interface_env|default({})), **(make_crc_attach_default_interface_params|default({}))) }}] *** 2025-11-28 12:04:41,574 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.028) 0:01:47.239 ******* 2025-11-28 12:04:41,574 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:41 +0000 (0:00:00.028) 0:01:47.238 ******* 2025-11-28 12:04:41,617 p=31757 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-11-28 12:04:46,761 p=31757 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ make_crc_attach_default_interface_until | default(true) }} 2025-11-28 12:04:46,763 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:04:46,792 p=31757 u=zuul n=ansible | TASK [run_hook : Assert parameters are valid quiet=True, that=['_list_hooks is not string', '_list_hooks is not mapping', '_list_hooks is iterable', '(hooks | default([])) is not string', '(hooks | default([])) is not mapping', '(hooks | default([])) is iterable']] *** 2025-11-28 12:04:46,792 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:46 +0000 (0:00:05.217) 0:01:52.457 ******* 2025-11-28 12:04:46,792 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:46 +0000 (0:00:05.217) 0:01:52.456 ******* 2025-11-28 12:04:46,874 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:46,884 p=31757 u=zuul n=ansible | TASK [run_hook : Assert single hooks are all mappings quiet=True, that=['_not_mapping_hooks | length == 0'], msg=All single hooks must be a list of mappings or a mapping.] *** 2025-11-28 12:04:46,884 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:46 +0000 (0:00:00.091) 0:01:52.549 ******* 2025-11-28 12:04:46,884 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:46 +0000 (0:00:00.091) 0:01:52.548 ******* 2025-11-28 12:04:46,949 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:46,962 p=31757 u=zuul n=ansible | TASK [run_hook : Loop on hooks for pre_kuttl _raw_params={{ hook.type }}.yml] *** 2025-11-28 12:04:46,962 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:46 +0000 (0:00:00.077) 0:01:52.627 ******* 2025-11-28 12:04:46,962 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:46 +0000 (0:00:00.077) 0:01:52.625 ******* 2025-11-28 12:04:47,030 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:47,042 p=31757 u=zuul n=ansible | TASK [Run kuttl tests _raw_params=run-kuttl-tests.yml] ************************* 2025-11-28 12:04:47,042 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.080) 0:01:52.707 ******* 2025-11-28 12:04:47,042 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.079) 0:01:52.705 ******* 2025-11-28 12:04:47,075 p=31757 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml for localhost => (item=glance) 2025-11-28 12:04:47,097 p=31757 u=zuul n=ansible | TASK [Load parameters dir={{ cifmw_basedir }}/artifacts/parameters] ************ 2025-11-28 12:04:47,097 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.055) 0:01:52.762 ******* 2025-11-28 12:04:47,097 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.055) 0:01:52.761 ******* 2025-11-28 12:04:47,136 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:47,145 p=31757 u=zuul n=ansible | TASK [Use the locally built operators if any _local_operators_indexes={{ _local_operators_indexes|default({}) | combine({ item.key.split('-')[0]|upper+'_IMG': cifmw_operator_build_output['operators'][item.key].image_catalog}) }}] *** 2025-11-28 12:04:47,146 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.048) 0:01:52.811 ******* 2025-11-28 12:04:47,146 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.048) 0:01:52.809 ******* 2025-11-28 12:04:47,177 p=31757 u=zuul n=ansible | ok: [localhost] => (item={'key': 'glance-operator', 'value': {'git_commit_hash': '35351eeab4bdfca92de19f8c0830be4670c48745', 'git_src_dir': '/home/zuul/src/github.com/openstack-k8s-operators/glance-operator', 'image': '38.102.83.94:5001/openstack-k8s-operators/glance-operator:35351eeab4bdfca92de19f8c0830be4670c48745', 'image_bundle': '38.102.83.94:5001/openstack-k8s-operators/glance-operator-bundle:35351eeab4bdfca92de19f8c0830be4670c48745', 'image_catalog': '38.102.83.94:5001/openstack-k8s-operators/glance-operator-index:35351eeab4bdfca92de19f8c0830be4670c48745'}}) 2025-11-28 12:04:47,188 p=31757 u=zuul n=ansible | ok: [localhost] => (item={'key': 'openstack-operator', 'value': {'git_commit_hash': '4069b75f281cdb57c7cf0cf6c89380a2eb2d083a', 'git_src_dir': '~/src/github.com/openstack-k8s-operators/openstack-operator', 'image': '38.102.83.94:5001/openstack-k8s-operators/openstack-operator:4069b75f281cdb57c7cf0cf6c89380a2eb2d083a', 'image_bundle': '38.102.83.94:5001/openstack-k8s-operators/openstack-operator-bundle:4069b75f281cdb57c7cf0cf6c89380a2eb2d083a', 'image_catalog': '38.102.83.94:5001/openstack-k8s-operators/openstack-operator-index:4069b75f281cdb57c7cf0cf6c89380a2eb2d083a'}}) 2025-11-28 12:04:47,197 p=31757 u=zuul n=ansible | TASK [Set environment vars for kuttl test cifmw_kuttl_tests_env={{ _local_operators_indexes | default({}) | combine(cifmw_install_yamls_environment) | combine(cifmw_kuttl_tests_env_vars | default({})) | combine(cifmw_kuttl_openstack_prep_vars | default({})) | combine({'PATH': cifmw_path}) }}] *** 2025-11-28 12:04:47,197 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.051) 0:01:52.862 ******* 2025-11-28 12:04:47,197 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.051) 0:01:52.860 ******* 2025-11-28 12:04:47,216 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:47,225 p=31757 u=zuul n=ansible | TASK [Clean storage beforehand name=ci_local_storage, tasks_from=cleanup.yml] *** 2025-11-28 12:04:47,225 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.028) 0:01:52.890 ******* 2025-11-28 12:04:47,225 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.028) 0:01:52.888 ******* 2025-11-28 12:04:47,266 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Get all pvs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=PersistentVolume, label_selectors=['provisioned-by={{ cifmw_cls_storage_provisioner }}']] *** 2025-11-28 12:04:47,266 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.040) 0:01:52.931 ******* 2025-11-28 12:04:47,266 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:47 +0000 (0:00:00.040) 0:01:52.929 ******* 2025-11-28 12:04:48,044 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:48,051 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Export PVs as facts cifmw_cls_pvs={{ _pv_info.resources | selectattr("metadata.name", "defined") | map(attribute="metadata.name") }}] *** 2025-11-28 12:04:48,052 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.785) 0:01:53.716 ******* 2025-11-28 12:04:48,052 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.785) 0:01:53.715 ******* 2025-11-28 12:04:48,071 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:48,079 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Delete all pvs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=PersistentVolume, state=absent, api_version=v1, namespace={{ cifmw_cls_namespace }}, name={{ item }}] *** 2025-11-28 12:04:48,079 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.027) 0:01:53.744 ******* 2025-11-28 12:04:48,079 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.027) 0:01:53.743 ******* 2025-11-28 12:04:48,090 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:04:48,098 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Get k8s nodes kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Node] *** 2025-11-28 12:04:48,098 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.019) 0:01:53.763 ******* 2025-11-28 12:04:48,098 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.019) 0:01:53.762 ******* 2025-11-28 12:04:48,784 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:48,793 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-11-28 12:04:48,794 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.695) 0:01:54.458 ******* 2025-11-28 12:04:48,794 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:48 +0000 (0:00:00.695) 0:01:54.457 ******* 2025-11-28 12:04:49,683 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=crc) 2025-11-28 12:04:50,247 p=31757 u=zuul n=ansible | changed: [localhost -> controller(38.102.83.51)] => (item=controller) 2025-11-28 12:04:50,453 p=31757 u=zuul n=ansible | changed: [localhost] => (item=localhost) 2025-11-28 12:04:50,455 p=31757 u=zuul n=ansible | [WARNING]: Platform linux on host localhost is using the discovered Python interpreter at /usr/bin/python3.9, but future installation of another Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible- core/2.15/reference_appendices/interpreter_discovery.html for more information. 2025-11-28 12:04:50,466 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ _host_map | selectattr("key", "in", k8s_nodes_hostnames) | map(attribute="value") | list }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-11-28 12:04:50,466 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:50 +0000 (0:00:01.672) 0:01:56.131 ******* 2025-11-28 12:04:50,466 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:50 +0000 (0:00:01.672) 0:01:56.130 ******* 2025-11-28 12:04:50,500 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:04:50,509 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Delete directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-11-28 12:04:50,509 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:50 +0000 (0:00:00.042) 0:01:56.174 ******* 2025-11-28 12:04:50,509 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:50 +0000 (0:00:00.042) 0:01:56.172 ******* 2025-11-28 12:04:50,533 p=31757 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_local_storage/tasks/worker_node_dirs.yml for localhost => (item=crc) 2025-11-28 12:04:50,544 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Perform action in the PV directory path={{ [ cifmw_cls_local_storage_name, 'pv'+ ("%02d" | format(item | int)) ] | path_join }}, state={{ 'directory' if cifmw_cls_action == 'create' else 'absent' }}, mode=0775] *** 2025-11-28 12:04:50,544 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:50 +0000 (0:00:00.035) 0:01:56.209 ******* 2025-11-28 12:04:50,544 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:04:50 +0000 (0:00:00.035) 0:01:56.208 ******* 2025-11-28 12:04:51,072 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=1) 2025-11-28 12:04:51,560 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=2) 2025-11-28 12:04:52,118 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=3) 2025-11-28 12:04:52,628 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=4) 2025-11-28 12:04:53,178 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=5) 2025-11-28 12:04:53,668 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=6) 2025-11-28 12:04:54,236 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=7) 2025-11-28 12:04:54,868 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=8) 2025-11-28 12:04:55,321 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=9) 2025-11-28 12:04:55,767 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=10) 2025-11-28 12:04:56,297 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=11) 2025-11-28 12:04:56,817 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=12) 2025-11-28 12:04:57,295 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=13) 2025-11-28 12:04:57,829 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=14) 2025-11-28 12:04:58,298 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=15) 2025-11-28 12:04:58,800 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=16) 2025-11-28 12:04:59,308 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=17) 2025-11-28 12:04:59,784 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=18) 2025-11-28 12:05:00,355 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=19) 2025-11-28 12:05:00,938 p=31757 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.110)] => (item=20) 2025-11-28 12:05:00,967 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Remove the cifmw_cls_namespace namespace state=absent, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Namespace, name={{ cifmw_cls_namespace }}, wait=True, wait_timeout=300] *** 2025-11-28 12:05:00,967 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:00 +0000 (0:00:10.422) 0:02:06.632 ******* 2025-11-28 12:05:00,967 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:00 +0000 (0:00:10.423) 0:02:06.631 ******* 2025-11-28 12:05:11,784 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:11,799 p=31757 u=zuul n=ansible | TASK [Create storage name=ci_local_storage] ************************************ 2025-11-28 12:05:11,799 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:11 +0000 (0:00:10.831) 0:02:17.464 ******* 2025-11-28 12:05:11,799 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:11 +0000 (0:00:10.831) 0:02:17.463 ******* 2025-11-28 12:05:11,852 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Create role needed directories path={{ cifmw_cls_manifests_dir }}, state=directory, mode=0755] *** 2025-11-28 12:05:11,852 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:11 +0000 (0:00:00.052) 0:02:17.517 ******* 2025-11-28 12:05:11,852 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:11 +0000 (0:00:00.052) 0:02:17.515 ******* 2025-11-28 12:05:12,066 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:12,074 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Create the cifmw_cls_namespace namespace" kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit) }}, name={{ cifmw_cls_namespace }}, kind=Namespace, state=present] *** 2025-11-28 12:05:12,074 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:12 +0000 (0:00:00.221) 0:02:17.739 ******* 2025-11-28 12:05:12,074 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:12 +0000 (0:00:00.222) 0:02:17.737 ******* 2025-11-28 12:05:12,779 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:12,786 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Save storage manifests as artifacts dest={{ cifmw_cls_manifests_dir }}/storage-class.yaml, content={{ cifmw_cls_storage_manifest | to_nice_yaml }}, mode=0644] *** 2025-11-28 12:05:12,786 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:12 +0000 (0:00:00.712) 0:02:18.451 ******* 2025-11-28 12:05:12,786 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:12 +0000 (0:00:00.712) 0:02:18.450 ******* 2025-11-28 12:05:13,186 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:13,201 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Get k8s nodes kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Node] *** 2025-11-28 12:05:13,201 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:13 +0000 (0:00:00.415) 0:02:18.866 ******* 2025-11-28 12:05:13,202 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:13 +0000 (0:00:00.415) 0:02:18.865 ******* 2025-11-28 12:05:13,930 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:05:13,939 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-11-28 12:05:13,940 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:13 +0000 (0:00:00.738) 0:02:19.604 ******* 2025-11-28 12:05:13,940 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:13 +0000 (0:00:00.737) 0:02:19.603 ******* 2025-11-28 12:05:14,837 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=crc) 2025-11-28 12:05:15,209 p=31757 u=zuul n=ansible | changed: [localhost -> controller(38.102.83.51)] => (item=controller) 2025-11-28 12:05:15,373 p=31757 u=zuul n=ansible | changed: [localhost] => (item=localhost) 2025-11-28 12:05:15,383 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ _host_map | selectattr("key", "in", k8s_nodes_hostnames) | map(attribute="value") | list }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-11-28 12:05:15,383 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:15 +0000 (0:00:01.443) 0:02:21.048 ******* 2025-11-28 12:05:15,383 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:15 +0000 (0:00:01.443) 0:02:21.046 ******* 2025-11-28 12:05:15,429 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:05:15,438 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Apply the storage class manifests kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit) }}, context={{ cifmw_openshift_context | default(omit) }}, state=present, src={{ cifmw_cls_manifests_dir }}/storage-class.yaml] *** 2025-11-28 12:05:15,438 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:15 +0000 (0:00:00.055) 0:02:21.103 ******* 2025-11-28 12:05:15,438 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:15 +0000 (0:00:00.055) 0:02:21.102 ******* 2025-11-28 12:05:16,146 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:16,153 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Create directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-11-28 12:05:16,153 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:16 +0000 (0:00:00.714) 0:02:21.818 ******* 2025-11-28 12:05:16,153 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:16 +0000 (0:00:00.714) 0:02:21.817 ******* 2025-11-28 12:05:16,178 p=31757 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_local_storage/tasks/worker_node_dirs.yml for localhost => (item=crc) 2025-11-28 12:05:16,190 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Perform action in the PV directory path={{ [ cifmw_cls_local_storage_name, 'pv'+ ("%02d" | format(item | int)) ] | path_join }}, state={{ 'directory' if cifmw_cls_action == 'create' else 'absent' }}, mode=0775] *** 2025-11-28 12:05:16,190 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:16 +0000 (0:00:00.037) 0:02:21.855 ******* 2025-11-28 12:05:16,190 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:16 +0000 (0:00:00.037) 0:02:21.854 ******* 2025-11-28 12:05:16,723 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=1) 2025-11-28 12:05:17,232 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=2) 2025-11-28 12:05:17,856 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=3) 2025-11-28 12:05:18,438 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=4) 2025-11-28 12:05:18,969 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=5) 2025-11-28 12:05:19,505 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=6) 2025-11-28 12:05:20,058 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=7) 2025-11-28 12:05:20,645 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=8) 2025-11-28 12:05:21,244 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=9) 2025-11-28 12:05:21,820 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=10) 2025-11-28 12:05:22,428 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=11) 2025-11-28 12:05:22,999 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=12) 2025-11-28 12:05:23,555 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=13) 2025-11-28 12:05:24,128 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=14) 2025-11-28 12:05:24,672 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=15) 2025-11-28 12:05:25,312 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=16) 2025-11-28 12:05:25,820 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=17) 2025-11-28 12:05:26,380 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=18) 2025-11-28 12:05:27,002 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=19) 2025-11-28 12:05:27,541 p=31757 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.110)] => (item=20) 2025-11-28 12:05:27,581 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Generate pv related storage manifest file src=storage.yaml.j2, dest={{ cifmw_cls_manifests_dir }}/storage.yaml, mode=0644] *** 2025-11-28 12:05:27,581 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:27 +0000 (0:00:11.391) 0:02:33.246 ******* 2025-11-28 12:05:27,582 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:27 +0000 (0:00:11.391) 0:02:33.245 ******* 2025-11-28 12:05:28,008 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:28,015 p=31757 u=zuul n=ansible | TASK [ci_local_storage : Apply pv related storage manifest file kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit) }}, context={{ cifmw_openshift_context | default(omit) }}, state=present, src={{ cifmw_cls_manifests_dir }}/storage.yaml] *** 2025-11-28 12:05:28,016 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:28 +0000 (0:00:00.434) 0:02:33.680 ******* 2025-11-28 12:05:28,016 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:28 +0000 (0:00:00.433) 0:02:33.679 ******* 2025-11-28 12:05:28,954 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:05:28,973 p=31757 u=zuul n=ansible | TASK [Get resource status before glance_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_before_{{ operator }}_kuttl.log ] *** 2025-11-28 12:05:28,973 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:28 +0000 (0:00:00.957) 0:02:34.638 ******* 2025-11-28 12:05:28,973 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:28 +0000 (0:00:00.957) 0:02:34.636 ******* 2025-11-28 12:05:28,985 p=31757 u=zuul n=ansible | fatal: [localhost]: FAILED! => msg: '''commands_before_kuttl_run'' is undefined. ''commands_before_kuttl_run'' is undefined' 2025-11-28 12:05:28,985 p=31757 u=zuul n=ansible | ...ignoring 2025-11-28 12:05:28,993 p=31757 u=zuul n=ansible | TASK [Set make_glance_kuttl_env vars make_{{ operator }}_kuttl_env={{ cifmw_kuttl_tests_env }}] *** 2025-11-28 12:05:28,993 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:28 +0000 (0:00:00.020) 0:02:34.658 ******* 2025-11-28 12:05:28,993 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:28 +0000 (0:00:00.020) 0:02:34.657 ******* 2025-11-28 12:05:29,009 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:05:29,017 p=31757 u=zuul n=ansible | TASK [Run make_glance_kuttl name=install_yamls_makes, tasks_from=make_{{ operator }}_kuttl.yml, apply={'ignore_errors': True}] *** 2025-11-28 12:05:29,018 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.024) 0:02:34.682 ******* 2025-11-28 12:05:29,018 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.024) 0:02:34.681 ******* 2025-11-28 12:05:29,068 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_glance_kuttl_env var=make_glance_kuttl_env] *** 2025-11-28 12:05:29,068 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.050) 0:02:34.733 ******* 2025-11-28 12:05:29,068 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.050) 0:02:34.732 ******* 2025-11-28 12:05:29,090 p=31757 u=zuul n=ansible | ok: [localhost] => make_glance_kuttl_env: BMO_SETUP: false CHECKOUT_FROM_OPENSTACK_REF: 'true' GLANCE_BRANCH: '' GLANCE_IMG: 38.102.83.94:5001/openstack-k8s-operators/glance-operator-index:35351eeab4bdfca92de19f8c0830be4670c48745 GLANCE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/glance-operator KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig OPENSTACK_IMG: 38.102.83.94:5001/openstack-k8s-operators/openstack-operator-index:4069b75f281cdb57c7cf0cf6c89380a2eb2d083a OPENSTACK_K8S_BRANCH: main OUT: /home/zuul/ci-framework-data/artifacts/manifests OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-11-28 12:05:29,097 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_glance_kuttl_params var=make_glance_kuttl_params] *** 2025-11-28 12:05:29,097 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.029) 0:02:34.762 ******* 2025-11-28 12:05:29,098 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.029) 0:02:34.761 ******* 2025-11-28 12:05:29,115 p=31757 u=zuul n=ansible | skipping: [localhost] 2025-11-28 12:05:29,122 p=31757 u=zuul n=ansible | TASK [install_yamls_makes : Run glance_kuttl output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls, script=make glance_kuttl, dry_run={{ make_glance_kuttl_dryrun|default(false)|bool }}, extra_args={{ dict((make_glance_kuttl_env|default({})), **(make_glance_kuttl_params|default({}))) }}] *** 2025-11-28 12:05:29,122 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.024) 0:02:34.787 ******* 2025-11-28 12:05:29,122 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:05:29 +0000 (0:00:00.024) 0:02:34.785 ******* 2025-11-28 12:05:29,157 p=31757 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_003_run_glance.log 2025-11-28 12:19:36,865 p=31757 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ make_glance_kuttl_until | default(true) }} 2025-11-28 12:19:36,958 p=31757 u=zuul n=ansible | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None 2025-11-28 12:19:37,149 p=31757 u=zuul n=ansible | fatal: [localhost]: FAILED! => attempts: 1 changed: true msg: non-zero return code rc: 2 stderr: '' stderr_lines: [] stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/validate-marketplace.sh\n+ '[' -z 500s ']'\n+ OPERATOR_NAMESPACE=openshift-marketplace\n++ oc get pods --no-headers -n openshift-marketplace\n++ grep -viE 'running|completed'\n+ not_running_pods=\n+ '[' -z '' ']'\n+ echo 'All openshift-marketplace pods seems to me fine'\nAll openshift-marketplace pods seems to me fine\n+ OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator'\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep openshift-cert-manager-operator\nopenshift-cert-manager-operator \ Red Hat Operators 278d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep kubernetes-nmstate-operator\nkubernetes-nmstate-operator \ Red Hat Operators 278d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ oc get packagemanifests -n openshift-marketplace\n+ grep metallb-operator\nmetallb-operator Red Hat Operators 278d\n+ '[' 0 -eq 0 ']'\n+ break\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-56c7ff6859-5qpcg \ 0/1 ContainerCreating 0 8s\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-56c7ff6859-5qpcg condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-7c9d545dc4-92nd9 \ 1/1 Running 0 40s\noc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-7c9d545dc4-92nd9 condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done\"\nNo resources found in metallb-system namespace.\nspeaker-gr75f 1/2 Running 0 10s\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-gr75f condition met\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z glance-kuttl-tests ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/namespace.yaml\nnamespace/glance-kuttl-tests created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io glance-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nglance-kuttl-tests \ Active\noc project glance-kuttl-tests\nNow using project \"glance-kuttl-tests\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova/cr\noc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e \"show databases like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift: no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra: no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr\nif oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi\nerror: the server doesn't have a resource type \"RabbitmqCluster\"\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr\nbash scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']'\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nWarning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.\nnamespace/openstack-operators configured\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators \ Active\noc project openstack-operators\nNow using project \"openstack-operators\" on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\ncatalogsource.operators.coreos.com/mariadb-operator-index created\noperatorgroup.operators.coreos.com/openstack created\nsubscription.operators.coreos.com/mariadb-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator\nCloning into 'openstack-operator'...\nCloning repo: git clone \ -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning into 'mariadb-operator'...\nRunning checkout: git checkout f08eaf841dd9\nNote: switching to 'f08eaf841dd9'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at f08eaf8 Merge pull request #384 from stuggi/operator_sdk_1.41.1\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr\n+ oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\ncatalogsource.operators.coreos.com/infra-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 1ff40691b66d\nNote: switching to '1ff40691b66d'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z Memcached ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr\n+ oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\ncatalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr\nbash -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z RabbitmqCluster ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq ']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr\n+ oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\ncatalogsource.operators.coreos.com/keystone-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator\nCloning into 'keystone-operator'...\nRunning checkout: git checkout 8677d368dd17\nNote: switching to '8677d368dd17'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at 8677d36 Merge pull request #646 from dprince/operator_sdk_1.41.1\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z KeystoneAPI ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr\n+ oc apply -f -\nkeystoneapi.keystone.openstack.org/keystone created\n+ '[' 0 -lt 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z horizon ']'\n+ '[' -z quay.io/openstack-k8s-operators/horizon-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=horizon-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE horizon-operator-index\nOPERATOR_SOURCE horizon-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op\ncatalogsource.operators.coreos.com/horizon-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/horizon-operator created\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' -z quay.io/openstack-k8s-operators/swift-operator-index:latest ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=swift-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE swift-operator-index\nOPERATOR_SOURCE swift-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op\ncatalogsource.operators.coreos.com/swift-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/swift-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/swift-operator.git swift-operator\nCloning into 'swift-operator'...\nRunning checkout: git checkout d8f4061a919b\nNote: switching to 'd8f4061a919b'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n \ git switch -c \n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD is now at d8f4061 Merge pull request #415 from stuggi/operator_sdk_1.41.1\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z Swift ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Swift == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Swift == OpenStackControlPlane ']'\n+ '[' Swift == Galera ']'\n+ '[' Swift == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Swift == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Swift == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./swift_v1beta1_swift.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./swift_v1beta1_swift.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"swift-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z swift ']'\n+ '[' swift = rabbitmq-cluster ']'\n+ DEPL_NAME=swift-operator-controller-manager\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr | oc apply -f -\nswift.swift.openstack.org/swift created\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' -z 38.102.83.94:5001/openstack-k8s-operators/glance-operator-index:35351eeab4bdfca92de19f8c0830be4670c48745 ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op\n+ OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=glance-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op\nOPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op\n+ echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE glance-operator-index\nOPERATOR_SOURCE glance-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE openstack-operators\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op\ncatalogsource.operators.coreos.com/glance-operator-index created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/glance-operator created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr\nbash scripts/clone-operator-repo.sh\nCloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/glance-operator glance-operator\nCloning into 'glance-operator'...\ndone.\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr\nbash scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only\n++ set -e\n+ '[' -z glance-kuttl-tests ']'\n+ '[' -z Glance ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused,unused,unused\n+ IMAGE_PATH=containerImage,glanceAPIInternal/containerImage,glanceAPIExternal/containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr ']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr\n~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Glance == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 3 '!=' 3 ']'\n+ (( i=0 ))\n+ (( i < 3 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 3 ))\n+ SPEC_PATH=glanceAPIInternal/containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 3 ))\n+ SPEC_PATH=glanceAPIExternal/containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 3 ))\n+ '[' -n '' ']'\n+ '[' Glance == OpenStackControlPlane ']'\n+ '[' Glance == Galera ']'\n+ '[' Glance == NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Glance == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ [[ Glance == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./glance_v1beta1_glance.yaml\n+ for y in ${yamls[@]}\n+ kustomize edit add resource ./glance_v1beta1_glance.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"glance-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z glance ']'\n+ '[' glance = rabbitmq-cluster ']'\n+ DEPL_NAME=glance-operator-controller-manager\n++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake glance_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: the server doesn't have a resource type \"openstackversion\"\nGLANCE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests --namespace glance-kuttl-tests \n2025/11/28 12:12:49 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running tests using configured kubeconfig.\n harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: going to run test suite with timeout of 240 seconds for each step\n harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests has 6 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/glance_dist_image_import\n=== PAUSE kuttl/harness/glance_dist_image_import\n=== RUN kuttl/harness/glance_image_cache\n=== PAUSE kuttl/harness/glance_image_cache\n=== RUN kuttl/harness/glance_single\n=== PAUSE kuttl/harness/glance_single\n=== RUN kuttl/harness/glance_single_tls\n=== PAUSE kuttl/harness/glance_single_tls\n=== RUN kuttl/harness/glance_split\n=== PAUSE kuttl/harness/glance_split\n=== RUN kuttl/harness/glance_split_proxypass\n=== PAUSE kuttl/harness/glance_split_proxypass\n=== CONT kuttl/harness/glance_dist_image_import\n \ logger.go:42: 12:12:49 | glance_dist_image_import | Ignoring README.md as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n logger.go:42: 12:12:49 | glance_dist_image_import | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | starting test step 0-deploy\n logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | running command: [sh -c oc -n $NAMESPACE kustomize ../../../../config/samples/layout/single | oc -n $NAMESPACE apply -f -\n ]\n logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance created\n logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":2}]'\n ]\n \ logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance patched\n logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | running command: [sh -c oc -n $NAMESPACE kustomize --load-restrictor LoadRestrictionsNone ../../../../config/samples/openstackclient | oc -n $NAMESPACE apply -f -\n ]\n \ logger.go:42: 12:12:50 | glance_dist_image_import/0-deploy | configmap/openstack-scripts-9db6gc427h created\n logger.go:42: 12:12:50 | glance_dist_image_import/0-deploy | pod/openstackclient created\n logger.go:42: 12:13:43 | glance_dist_image_import/0-deploy | test step completed 0-deploy\n logger.go:42: 12:13:43 | glance_dist_image_import/1-import-image | starting test step 1-import-image\n logger.go:42: 12:13:43 | glance_dist_image_import/1-import-image | running command: [sh -c oc -n $NAMESPACE exec -it openstackclient --stdin=false -- /bin/sh -c \"DOMAIN=glance-default-single.$NAMESPACE.svc ./scripts/dist-image-import.sh\"\n \ ]\n logger.go:42: 12:13:52 | glance_dist_image_import/1-import-image | usage: openstack image delete [-h] [ ...]\n logger.go:42: 12:13:52 | glance_dist_image_import/1-import-image | openstack image delete: error: the following arguments are required: \n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | Property | Value \ |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | checksum | None |\n \ logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | container_format | bare |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | created_at | 2025-11-28T12:13:54Z |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | disk_format | qcow2 \ |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | id | 01c88b51-f9e9-48ed-ac51-bab2a501d535 |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | locations | [] |\n \ logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | min_disk \ | 0 |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | min_ram | 0 |\n \ logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | name | myimage |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | os_hash_algo | None |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | os_hash_value | None |\n \ logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | os_hidden \ | False |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | owner | e131a1a395e04aacb07cde56be57e73b |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | protected | False \ |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | size | None |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | status | queued \ |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | tags | [] |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | updated_at | 2025-11-28T12:13:54Z \ |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | virtual_size | Not available |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | visibility | shared \ |\n logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+\n logger.go:42: 12:13:55 | glance_dist_image_import/1-import-image | Image ID: 01c88b51-f9e9-48ed-ac51-bab2a501d535\n \ logger.go:42: 12:13:57 | glance_dist_image_import/1-import-image | Image Status => queued\n logger.go:42: 12:14:01 | glance_dist_image_import/1-import-image | Error finding address for http://glance-default-single-0.glance-default-single.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-single-0.glance-default-single.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host='glance-default-single-0.glance-default-single.glance-kuttl-tests.svc', port=9292): Max retries exceeded with url: /versions (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known'))\n logger.go:42: 12:14:02 | glance_dist_image_import/1-import-image | The 'glance-direct' import method can only be applied to an image in status 'uploading'\n \ logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+\n \ logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | | ID | Name |\n logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+\n logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | | 01c88b51-f9e9-48ed-ac51-bab2a501d535 | myimage |\n logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+\n logger.go:42: 12:14:08 | glance_dist_image_import/1-import-image | Image Status: queued\n logger.go:42: 12:14:14 | glance_dist_image_import/1-import-image | command terminated with exit code 1\n case.go:396: failed in step 1-import-image\n case.go:398: command \"oc -n $NAMESPACE exec -it openstackclient --stdin=false -- /bin/sh ...\" failed, exit status 1\n logger.go:42: 12:14:14 | glance_dist_image_import | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_single_tls\n logger.go:42: 12:14:14 | glance_single_tls | Skipping creation of user-supplied namespace: glance-kuttl-tests\n \ logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/combined-ca-bundle created\n logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-internal-svc created\n logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-public-svc created\n logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n logger.go:42: 12:14:14 | glance_single_tls/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 12:14:14 | glance_single_tls/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single_tls | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:14:17 | glance_single_tls/1-deploy_glance | glance.glance.openstack.org/glance configured\n logger.go:42: 12:14:17 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:18 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:20 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:21 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:22 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:23 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:24 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:26 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:27 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:28 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:29 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:30 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:32 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:33 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:34 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:35 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:36 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:38 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:39 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:40 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:41 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:42 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:43 | glance_single_tls/1-deploy_glance | running command: [sh -c template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"https:\\/\\/glance-default-internal.$NAMESPACE.*:https:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:44 | glance_single_tls/1-deploy_glance | test step completed 1-deploy_glance\n logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | starting test step 5-cleanup-glance\n logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -\n ]\n logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;\n for pv in $(oc -n $NAMESPACE get pv | grep \"Released.*glance\" | cut -f 1 -d \" \"); do oc -n $NAMESPACE patch pv $pv -p '{\"spec\":{\"claimRef\": null}}'; done\n ]\n logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-single-0\" deleted\n logger.go:42: 12:14:45 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-single-1\" deleted\n logger.go:42: 12:14:45 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-single-0\" deleted\n logger.go:42: 12:14:49 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-single-1\" deleted\n logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage08-crc patched\n logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage09-crc patched\n logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage12-crc patched\n logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage13-crc patched\n logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | test step completed 5-cleanup-glance\n logger.go:42: 12:14:50 | glance_single_tls | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_split_proxypass\n \ logger.go:42: 12:14:50 | glance_split_proxypass | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 12:14:50 | glance_split_proxypass/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 12:14:50 | glance_split_proxypass/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -\n oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/metadata/annotations/glance.openstack.org~1wsgi\", \"value\":\"false\"}]'\n ]\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance created\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance patched\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41167\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41167 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n \ logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}\n \ logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]'\n logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}\n \ logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]'\n logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}\n \ logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]'\n logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}\n \ logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]'\n logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:glanceAPIReadyCounts\":{\".\":{},\"f:default\":{}},\"f:hash\":{\".\":{},\"f:dbsync\":{}},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:03Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41244\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"CronJob completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"DBsync completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"NetworkAttachments completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NetworkAttachmentsReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"glanceAPIReadyCounts\":{\"default\":0},\"hash\":{\"dbsync\":\"n598h694h67bh55hc7h5d8h645hd7h5b7h79h686h558h556h696h687h54dhb6h5cch676h97hd6h655h67fhb4h5f5hbbh677h5d9h549h544h68bh545q\"},\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}\n \ logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:glanceAPIReadyCounts:map[.:map[] f:default:map[]] f:hash:map[.:map[] f:dbsync:map[]] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:03Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41244 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:03Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:03Z message:CronJob completed reason:Ready status:True type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:03Z message:DBsync completed reason:Ready status:True type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:03Z message:NetworkAttachments completed reason:Ready status:True type:NetworkAttachmentsReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc glanceAPIReadyCounts:map[default:0] hash:map[dbsync:n598h694h67bh55hc7h5d8h645hd7h5b7h79h686h558h556h696h687h54dhb6h5cch676h97hd6h655h67fhb4h5f5hbbh677h5d9h549h544h68bh545q] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]'\n logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n \ template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n \ for ITEM in $(echo $imageTuples); do\n # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + NAME=API\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + case $NAME in\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | test step completed 1-deploy_glance\n \ logger.go:42: 12:15:20 | glance_split_proxypass/2-scale-glanceapis | starting test step 2-scale-glanceapis\n logger.go:42: 12:15:20 | glance_split_proxypass/2-scale-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":3}]'\n ]\n \ logger.go:42: 12:15:21 | glance_split_proxypass/2-scale-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:15:34 | glance_split_proxypass/2-scale-glanceapis | test step completed 2-scale-glanceapis\n logger.go:42: 12:15:34 | glance_split_proxypass/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis\n logger.go:42: 12:15:34 | glance_split_proxypass/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":1}]'\n ]\n \ logger.go:42: 12:15:34 | glance_split_proxypass/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:15:39 | glance_split_proxypass/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis\n logger.go:42: 12:15:39 | glance_split_proxypass/4-scale-down-zero-glanceapis | starting test step 4-scale-down-zero-glanceapis\n logger.go:42: 12:15:39 | glance_split_proxypass/4-scale-down-zero-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":0}]'\n ]\n logger.go:42: 12:15:39 | glance_split_proxypass/4-scale-down-zero-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:15:42 | glance_split_proxypass/4-scale-down-zero-glanceapis | test step completed 4-scale-down-zero-glanceapis\n logger.go:42: 12:15:42 | glance_split_proxypass/5-cleanup-glance | starting test step 5-cleanup-glance\n \ logger.go:42: 12:15:42 | glance_split_proxypass/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc delete -n $NAMESPACE -f -\n ]\n logger.go:42: 12:15:42 | glance_split_proxypass/5-cleanup-glance | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;\n for pv in $(oc -n $NAMESPACE get pv | grep \"Released.*glance\" | cut -f 1 -d \" \"); do oc -n $NAMESPACE patch pv $pv -p '{\"spec\":{\"claimRef\": null}}'; done\n ]\n logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-0\" deleted\n logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-1\" deleted\n logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-2\" deleted\n logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-0\" deleted\n logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-1\" deleted\n logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-2\" deleted\n logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n logger.go:42: 12:15:45 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-1\" deleted\n logger.go:42: 12:15:45 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-2\" deleted\n logger.go:42: 12:15:45 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-1\" deleted\n logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-2\" deleted\n logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage01-crc patched\n logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage02-crc patched\n logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage04-crc patched\n logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage05-crc patched\n logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage08-crc patched\n logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage09-crc patched\n logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage10-crc patched\n logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage11-crc patched\n logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage12-crc patched\n logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage14-crc patched\n logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage16-crc patched\n logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage17-crc patched\n logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | test step completed 5-cleanup-glance\n logger.go:42: 12:15:48 | glance_split_proxypass | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_split\n logger.go:42: 12:15:48 | glance_split | Skipping creation of user-supplied namespace: glance-kuttl-tests\n \ logger.go:42: 12:15:48 | glance_split/1-deploy_glance | starting test step 1-deploy_glance\n \ logger.go:42: 12:15:48 | glance_split/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:15:48 | glance_split/1-deploy_glance | glance.glance.openstack.org/glance created\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:49 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:49 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:15:49 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:50 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:50 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:15:50 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:51 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:51 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:15:51 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:52 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:52 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:15:52 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:53 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:53 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:15:53 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:55 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42418\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:55 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42418 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:55 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n \ logger.go:42: 12:15:55 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:56 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}\n \ logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:56 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]'\n logger.go:42: 12:15:56 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:57 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}\n \ logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:57 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]'\n logger.go:42: 12:15:57 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:58 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}\n \ logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:15:58 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]'\n logger.go:42: 12:15:58 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:15:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:15:59 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:15:59 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:15:59 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}\n \ logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:00 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]'\n logger.go:42: 12:16:00 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:01 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}\n \ logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:01 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | [glance_store]\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | default_backend = default_backend\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | [default_backend]\n \ logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]'\n logger.go:42: 12:16:01 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:03 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:03 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:03 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:03 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + NAME=API\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + case $NAME in\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 12:16:19 | glance_split/1-deploy_glance | test step completed 1-deploy_glance\n logger.go:42: 12:16:19 | glance_split/2-scale-glanceapis | starting test step 2-scale-glanceapis\n logger.go:42: 12:16:19 | glance_split/2-scale-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":3}]'\n ]\n \ logger.go:42: 12:16:19 | glance_split/2-scale-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:16:33 | glance_split/2-scale-glanceapis | test step completed 2-scale-glanceapis\n logger.go:42: 12:16:33 | glance_split/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis\n logger.go:42: 12:16:33 | glance_split/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":1}]'\n ]\n \ logger.go:42: 12:16:34 | glance_split/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:16:41 | glance_split/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis\n logger.go:42: 12:16:41 | glance_split/4-scale-down-zero-glanceapis | starting test step 4-scale-down-zero-glanceapis\n logger.go:42: 12:16:41 | glance_split/4-scale-down-zero-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":0}]'\n ]\n logger.go:42: 12:16:41 | glance_split/4-scale-down-zero-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:16:47 | glance_split/4-scale-down-zero-glanceapis | test step completed 4-scale-down-zero-glanceapis\n logger.go:42: 12:16:47 | glance_split/5-cleanup-glance | starting test step 5-cleanup-glance\n logger.go:42: 12:16:47 | glance_split/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc delete -n $NAMESPACE -f -\n ]\n \ logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;\n for pv in $(oc -n $NAMESPACE get pv | grep \"Released.*glance\" | cut -f 1 -d \" \"); do oc -n $NAMESPACE patch pv $pv -p '{\"spec\":{\"claimRef\": null}}'; done\n ]\n logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-0\" deleted\n logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-1\" deleted\n logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-2\" deleted\n logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-0\" deleted\n logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-1\" deleted\n logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-2\" deleted\n logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-1\" deleted\n logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-2\" deleted\n logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-1\" deleted\n logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-2\" deleted\n logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolume/local-storage01-crc patched\n logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolume/local-storage02-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage04-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage05-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage08-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage09-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage10-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage11-crc patched\n logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage12-crc patched\n logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | persistentvolume/local-storage13-crc patched\n logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | persistentvolume/local-storage14-crc patched\n logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | persistentvolume/local-storage18-crc patched\n logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | test step completed 5-cleanup-glance\n logger.go:42: 12:16:53 | glance_split | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_single\n logger.go:42: 12:16:53 | glance_single | Skipping creation of user-supplied namespace: glance-kuttl-tests\n \ logger.go:42: 12:16:53 | glance_single/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | glance.glance.openstack.org/glance created\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:53 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:53Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43572\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data not checked\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding not created\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role not created\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount not created\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"observedGeneration\":1}}\n \ logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:53 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:53Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43572 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create not started reason:Init status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data not checked reason:Init status:Unknown type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached create not started reason:Init status:Unknown type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding not created reason:Init status:Unknown type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role not created reason:Init status:Unknown type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount not created reason:Init status:Unknown type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] observedGeneration:1]]'\n logger.go:42: 12:16:53 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:54 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:54 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:54 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:54 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:55 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:16:55 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:56 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:56 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:16:56 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:57 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:57 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:16:57 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:58 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:58 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:16:58 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:16:59 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:16:59 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:16:59 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:00 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:00 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:00 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:00 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:01 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:17:01 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:02 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:02 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:17:02 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:03 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:03 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n logger.go:42: 12:17:03 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:04 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:04Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43716\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:04 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:04Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43716 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:04 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n \ logger.go:42: 12:17:04 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:05 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:04Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43716\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}\n \ logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:05 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:04Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43716 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:05 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]'\n \ logger.go:42: 12:17:05 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:06 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:06 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:06 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:06 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}\n \ logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:07 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]'\n logger.go:42: 12:17:07 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:08 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}\n \ logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:08 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]'\n logger.go:42: 12:17:08 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:09 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}\n \ logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:09 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]'\n logger.go:42: 12:17:09 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:10 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | error: error executing template \"{{ index .status.apiEndpoint \\\"default-internal\\\" }}{{ \\\":\\\" }}{{ index .status.apiEndpoint \\\"default-public\\\" }}\": template: output:1:3: executing \"output\" at : error calling index: index of untyped nil\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | + apiEndpoints='Error executing template: template: output:1:3: executing \"output\" at : error calling index: index of untyped nil. Printing more information for debugging the template:\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \ttemplate was:\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \traw data was:\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}\n \ logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}\n \ logger.go:42: 12:17:10 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:\"openstack.org/glance\":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | debug = true\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]'\n logger.go:42: 12:17:10 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 12:17:11 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:11 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:11 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:11 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:14 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:14 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:14 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:14 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n regex=\"http:\\/\\/glance-default-internal.$NAMESPACE.*:http:\\/\\/glance-default-public.$NAMESPACE.*\"\n \ apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template=\"$template\")\n \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ -z \"$matches\" ]; then\n exit 0\n else\n exit 1\n fi\n \ ]\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o 'go-template={{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ sed -e 's?http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*??'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + matches=\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template=\"$tupleTemplate\")\n for ITEM in $(echo $imageTuples); do\n \ # it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|')\n \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template=\"$template\")\n ;;\n \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n \ fi\n fi\n done\n exit 0\n ]\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + imageTuples='RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ sed -e 's|^RELATED_IMAGE_GLANCE_\\([^_]*\\)_.*|\\1|'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + NAME=API\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ sed -e 's|^.*#\\(.*\\)|\\1|'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + template='{{.spec.containerImage}}'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + case $NAME in\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o 'go-template={{.spec.containerImage}}'\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + '[' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '!=' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ']'\n \ logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + exit 0\n logger.go:42: 12:17:26 | glance_single/1-deploy_glance | test step completed 1-deploy_glance\n logger.go:42: 12:17:26 | glance_single/2-scale-glanceapis | starting test step 2-scale-glanceapis\n logger.go:42: 12:17:26 | glance_single/2-scale-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":3}]'\n ]\n \ logger.go:42: 12:17:26 | glance_single/2-scale-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:17:41 | glance_single/2-scale-glanceapis | test step completed 2-scale-glanceapis\n logger.go:42: 12:17:41 | glance_single/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis\n logger.go:42: 12:17:41 | glance_single/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":1}]'\n ]\n \ logger.go:42: 12:17:41 | glance_single/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:17:47 | glance_single/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis\n logger.go:42: 12:17:47 | glance_single/4-scale-down-zero-glanceapis | starting test step 4-scale-down-zero-glanceapis\n logger.go:42: 12:17:47 | glance_single/4-scale-down-zero-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":0}]'\n ]\n logger.go:42: 12:17:47 | glance_single/4-scale-down-zero-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:17:52 | glance_single/4-scale-down-zero-glanceapis | test step completed 4-scale-down-zero-glanceapis\n logger.go:42: 12:17:52 | glance_single/5-cleanup-glance | starting test step 5-cleanup-glance\n logger.go:42: 12:17:52 | glance_single/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -\n ]\n \ logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;\n for pv in $(oc -n $NAMESPACE get pv | grep \"Released.*glance\" | cut -f 1 -d \" \"); do oc -n $NAMESPACE patch pv $pv -p '{\"spec\":{\"claimRef\": null}}'; done\n ]\n logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-single-0\" deleted\n logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-single-1\" deleted\n logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-single-2\" deleted\n logger.go:42: 12:17:54 | glance_single/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-single-0\" deleted\n logger.go:42: 12:17:54 | glance_single/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-single-1\" deleted\n logger.go:42: 12:17:54 | glance_single/5-cleanup-glance | persistentvolumeclaim \"glance-glance-default-single-2\" deleted\n logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage01-crc patched\n logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage05-crc patched\n logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage08-crc patched\n logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage12-crc patched\n logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage13-crc patched\n logger.go:42: 12:17:56 | glance_single/5-cleanup-glance | persistentvolume/local-storage18-crc patched\n logger.go:42: 12:17:56 | glance_single/5-cleanup-glance | test step completed 5-cleanup-glance\n logger.go:42: 12:17:56 | glance_single | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_image_cache\n logger.go:42: 12:17:56 | glance_image_cache | Skipping creation of user-supplied namespace: glance-kuttl-tests\n \ logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -\n ]\n logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance created\n logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":2}]'\n ]\n \ logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance patched\n logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | running command: [sh -c oc -n $NAMESPACE kustomize --load-restrictor LoadRestrictionsNone ../../../../config/samples/openstackclient | oc -n $NAMESPACE apply -f -\n ]\n \ logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | configmap/openstack-scripts-9db6gc427h unchanged\n logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | pod/openstackclient configured\n logger.go:42: 12:18:13 | glance_image_cache/1-deploy_glance | test step completed 1-deploy_glance\n logger.go:42: 12:18:13 | glance_image_cache/2-cache-image | starting test step 2-cache-image\n logger.go:42: 12:18:13 | glance_image_cache/2-cache-image | running command: [sh -c sleep 20; oc -n $NAMESPACE exec -it openstackclient --stdin=false -- /bin/sh -c \"DOMAIN=glance-default-external-api.$NAMESPACE.svc REPLICA=glance-default-external-api- ./scripts/cache_and_delete_image.sh\"\n ]\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + TIME=3\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + CACHE_TIME=6\n \ logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + DOMAIN=glance-default-external-api.glance-kuttl-tests.svc\n \ logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + REPLICA=glance-default-external-api-\n \ logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + IMAGE_NAME=myimage\n \ logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | ++ awk '/auth_url/ {print $2}' /etc/openstack/clouds.yaml\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + KEYSTONE=http://keystone-public.glance-kuttl-tests.svc:5000\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + ADMIN_PWD=12345678\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + ADMIN_USER=admin\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + glance='glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 \ --os-project-name admin --os-username admin --os-password 12345678 \ --os-user-domain-name default --os-project-domain-name default '\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + exec\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + echo This is a dodgy image\n logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + openstack image list -c ID -f value\n \ logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + xargs -n 1 openstack image delete\n logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | usage: openstack image delete [-h] [ ...]\n logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | openstack image delete: error: the following arguments are required: \n logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:18:38 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host='glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc', port=9292): Max retries exceeded with url: /versions (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known'))\n logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | + CACHED_ID=\n logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + CACHED_ID=\n logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | Creating new image.\n logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + echo 'Creating new image.'\n logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --verbose image-create --disk-format qcow2 --container-format bare --name myimage --file myimage\n logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | Property | Value |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | checksum | 69bcebf29946998555945bfd562df6f0 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | container_format | bare |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | created_at | 2025-11-28T12:18:44Z |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | disk_format | qcow2 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | id | be5f5781-789a-4f82-90cf-be03f4b7b6a3 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | min_disk | 0 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | min_ram | 0 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | name | myimage |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | os_hash_algo | sha512 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | os_hash_value \ | 756138eda333dfdd93b80d8bae18b447fbab34462db0cc57df732b81e51015961e815e04c09b42da |\n logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | | 7de16058d0fc34812d6ecc3496bd7519c395202e88705ccc |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | os_hidden | False |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | owner | e131a1a395e04aacb07cde56be57e73b |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | protected | False |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | size | 22 |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | status | active |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | stores | default_backend |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | tags | [] |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | updated_at | 2025-11-28T12:18:45Z |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | virtual_size | Not available |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | visibility | shared |\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+\n \ logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | + sleep 3\n logger.go:42: 12:18:49 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default image-list\n logger.go:42: 12:18:49 | glance_image_cache/2-cache-image | ++ awk -v img=myimage '$0 ~ img {print $2}'\n \ logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | + ID=be5f5781-789a-4f82-90cf-be03f4b7b6a3\n \ logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | + echo 'Image ID: be5f5781-789a-4f82-90cf-be03f4b7b6a3'\n logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | + sleep 3\n logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | Image ID: be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:18:56 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default image-show be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:18:56 | glance_image_cache/2-cache-image | ++ awk '/status/{print $4}'\n logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | Image Status => active\n logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | Caching image on replica 0\n logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + STATE=active\n logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + echo 'Image Status => active'\n \ logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + [[ active != \\a\\c\\t\\i\\v\\e ]]\n logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + echo 'Caching image on replica 0'\n logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-queue be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:18:59 | glance_image_cache/2-cache-image | + sleep 6\n logger.go:42: 12:19:05 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:19:05 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | Cached image id on replica 0 => be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | Verifying image is not cached on replica 1\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + CACHED_ID=be5f5781-789a-4f82-90cf-be03f4b7b6a3\n \ logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 0 => be5f5781-789a-4f82-90cf-be03f4b7b6a3'\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != be5f5781-789a-4f82-90cf-be03f4b7b6a3 ]]\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + echo 'Verifying image is not cached on replica 1'\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | Cached image id on replica 1 => \n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | Caching image on replica 1\n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + CACHED_ID_1=\n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 1 => '\n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + echo 'Caching image on replica 1'\n logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-queue be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:09 | glance_image_cache/2-cache-image | + sleep 6\n logger.go:42: 12:19:15 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:19:15 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | Deleting cached image from replica 0\n logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + CACHED_ID_2=be5f5781-789a-4f82-90cf-be03f4b7b6a3\n \ logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3'\n logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != be5f5781-789a-4f82-90cf-be03f4b7b6a3 ]]\n logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + echo 'Deleting cached image from replica 0'\n logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-delete be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | + echo 'Verifying image is still cached on replica 1'\n logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | Verifying image is still cached on replica 1\n logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + CACHED_ID_3=be5f5781-789a-4f82-90cf-be03f4b7b6a3\n \ logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3'\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != be5f5781-789a-4f82-90cf-be03f4b7b6a3 ]]\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + echo 'Verify Cached image is deleted from replica 0'\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | Verify Cached image is deleted from replica 0\n logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + CACHED_ID_4=\n \ logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n \ logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + echo 'Deleting image be5f5781-789a-4f82-90cf-be03f4b7b6a3'\n logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default image-delete be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | Deleting image be5f5781-789a-4f82-90cf-be03f4b7b6a3\n \ logger.go:42: 12:19:23 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list\n logger.go:42: 12:19:23 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + CACHED_ID_5=be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != '' ]]\n logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + echo 'Deleting cached image from replica 1'\n logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-delete be5f5781-789a-4f82-90cf-be03f4b7b6a3\n logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | Deleting cached image from replica 1\n logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | + echo 'Caching tests executed successfully!!!'\n \ logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | + exit 0\n logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | Caching tests executed successfully!!!\n \ logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | test step completed 2-cache-image\n logger.go:42: 12:19:26 | glance_image_cache/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis\n logger.go:42: 12:19:26 | glance_image_cache/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type='json' -p='[{\"op\": \"replace\", \"path\": \"/spec/glanceAPIs/default/replicas\", \"value\":1}]'\n ]\n \ logger.go:42: 12:19:26 | glance_image_cache/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 12:19:28 | glance_image_cache/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis\n logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | starting test step 4-cleanup-glance\n logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -\n ]\n logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;\n for pv in $(oc -n $NAMESPACE get pv | grep \"Released.*glance\" | cut -f 1 -d \" \"); do oc -n $NAMESPACE patch pv $pv -p '{\"spec\":{\"claimRef\": null}}'; done\n ]\n logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-0\" deleted\n logger.go:42: 12:19:33 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-external-api-1\" deleted\n logger.go:42: 12:19:33 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-0\" deleted\n logger.go:42: 12:19:33 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-cache-glance-default-internal-api-1\" deleted\n logger.go:42: 12:19:34 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-0\" deleted\n logger.go:42: 12:19:34 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-glance-default-external-api-1\" deleted\n logger.go:42: 12:19:34 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-0\" deleted\n logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim \"glance-glance-default-internal-api-1\" deleted\n logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage01-crc patched\n logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage05-crc patched\n logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage08-crc patched\n logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage09-crc patched\n logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage10-crc patched\n logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage12-crc patched\n logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage13-crc patched\n logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage18-crc patched\n logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | test step completed 4-cleanup-glance\n logger.go:42: 12:19:36 | glance_image_cache | skipping kubernetes event logging\n=== NAME kuttl\n harness.go:406: run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing temp folder: \"\"\n--- FAIL: kuttl (407.41s)\n --- FAIL: kuttl/harness (0.00s)\n --- FAIL: kuttl/harness/glance_dist_image_import (85.33s)\n --- PASS: kuttl/harness/glance_single_tls (36.09s)\n --- PASS: kuttl/harness/glance_split_proxypass (57.80s)\n --- PASS: kuttl/harness/glance_split (64.78s)\n --- PASS: kuttl/harness/glance_single (62.72s)\n --- PASS: kuttl/harness/glance_image_cache (100.68s)\nFAIL\nmake[1]: *** [Makefile:2021: glance_kuttl_run] Error 1\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake: *** [Makefile:2030: glance_kuttl] Error 2\n" stdout_lines: - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/validate-marketplace.sh - + '[' -z 500s ']' - + OPERATOR_NAMESPACE=openshift-marketplace - ++ oc get pods --no-headers -n openshift-marketplace - ++ grep -viE 'running|completed' - + not_running_pods= - + '[' -z '' ']' - + echo 'All openshift-marketplace pods seems to me fine' - All openshift-marketplace pods seems to me fine - + OPERATORS='openshift-cert-manager-operator kubernetes-nmstate-operator metallb-operator' - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep openshift-cert-manager-operator - openshift-cert-manager-operator Red Hat Operators 278d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep kubernetes-nmstate-operator - kubernetes-nmstate-operator Red Hat Operators 278d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + oc get packagemanifests -n openshift-marketplace - + grep metallb-operator - metallb-operator Red Hat Operators 278d - + '[' 0 -eq 0 ']' - + break - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z metallb-system ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml - namespace/metallb-system created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); do sleep 1; done" - NAME DISPLAY NAME STATUS - metallb-system Active - bash scripts/gen-olm-metallb.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr - + echo INTERFACE - INTERFACE - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op - operatorgroup.operators.coreos.com/metallb-operator created - subscription.operators.coreos.com/metallb-operator-sub created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager -n metallb-system| grep metallb-operator-controller); do sleep 10; done" - No resources found in metallb-system namespace. - No resources found in metallb-system namespace. - metallb-operator-controller-manager-56c7ff6859-5qpcg 0/1 ContainerCreating 0 8s - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-56c7ff6859-5qpcg condition met - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" - metallb-operator-webhook-server-7c9d545dc4-92nd9 1/1 Running 0 40s - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server --timeout=500s - pod/metallb-operator-webhook-server-7c9d545dc4-92nd9 condition met - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml - metallb.metallb.io/metallb created - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker -n metallb-system | grep speaker); do sleep 10; done" - No resources found in metallb-system namespace. - speaker-gr75f 1/2 Running 0 10s - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-gr75f condition met - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z glance-kuttl-tests ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/namespace.yaml - namespace/glance-kuttl-tests created - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io glance-kuttl-tests); do sleep 1; done" - NAME DISPLAY NAME STATUS - glance-kuttl-tests Active - oc project glance-kuttl-tests - Now using project "glance-kuttl-tests" on server "https://api.crc.testing:6443". - bash scripts/gen-input-kustomize.sh - + OUT=/home/zuul/ci-framework-data/artifacts/manifests - + '[' -z glance-kuttl-tests ']' - + '[' -z osp-secret ']' - + '[' -z 12345678 ']' - + '[' -z 1234567842 ']' - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' - + '[' -z openstack ']' - + '[' -z libvirt-secret ']' - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/input | oc apply -f - - 'Error from server (NotFound): secrets "osp-secret" not found' - secret/libvirt-secret created - secret/octavia-ca-passphrase created - secret/osp-secret created - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/manila/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists manila;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/heat/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/horizon/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/nova/cr - oc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e "show databases like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e "flush tables; drop database if exists {};" - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra-redis/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/octavia/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists octavia;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/designate/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists designate;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/neutron/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists neutron;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ovn/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/ironic/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists ironic;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists ironic_inspector;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/cinder/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists cinder;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists glance;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/placement/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists placement;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift: no such file or directory' - No resources found - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/barbican/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists barbican;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists keystone;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/telemetry/cr - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; drop database if exists aodh;" || true - 'Error from server (NotFound): pods "openstack-galera-0" not found' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr | oc delete --ignore-not-found=true -f - - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr'' : lstat /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra: no such file or directory' - No resources found - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; fi - 'error: the server doesn''t have a resource type "RabbitmqCluster"' - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr - bash scripts/gen-namespace.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' - + '[' -z openstack-operators ']' - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators ']' - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml - 'Warning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.' - namespace/openstack-operators configured - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); do sleep 1; done" - NAME DISPLAY NAME STATUS - openstack-operators Active - oc project openstack-operators - Now using project "openstack-operators" on server "https://api.crc.testing:6443". - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=mariadb-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE mariadb-operator-index - OPERATOR_SOURCE mariadb-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op - catalogsource.operators.coreos.com/mariadb-operator-index created - operatorgroup.operators.coreos.com/openstack created - subscription.operators.coreos.com/mariadb-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git openstack-operator' - Cloning into 'openstack-operator'... - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator' - Cloning into 'mariadb-operator'... - 'Running checkout: git checkout f08eaf841dd9' - 'Note: switching to ''f08eaf841dd9''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at f08eaf8 Merge pull request #384 from stuggi/operator_sdk_1.41.1' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z glance-kuttl-tests ']' - + '[' -z Galera ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Galera == OpenStackControlPlane ']' - + '[' Galera == Galera ']' - + cat - + '[' Galera == NetConfig ']' - + '[' -n '' ']' - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./mariadb_v1beta1_galera.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z mariadb ']' - + '[' mariadb = rabbitmq-cluster ']' - + DEPL_NAME=mariadb-operator-controller-manager - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/mariadb/cr - + oc apply -f - - galera.mariadb.openstack.org/openstack created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=infra-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE infra-operator-index - OPERATOR_SOURCE infra-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op - catalogsource.operators.coreos.com/infra-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/infra-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git infra-operator' - Cloning into 'infra-operator'... - 'Running checkout: git checkout 1ff40691b66d' - 'Note: switching to ''1ff40691b66d''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 1ff4069 Merge pull request #505 from lmiccini/quorum_webhook_fix' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z glance-kuttl-tests ']' - + '[' -z Memcached ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n memcached ']' - + cat - + '[' Memcached == OpenStackControlPlane ']' - + '[' Memcached == Galera ']' - + '[' Memcached == NetConfig ']' - + '[' -n '' ']' - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./memcached_v1beta1_memcached.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z infra ']' - + '[' infra = rabbitmq-cluster ']' - + DEPL_NAME=infra-operator-controller-manager - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/infra/cr - + oc apply -f - - memcached.memcached.openstack.org/memcached created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index - OPERATOR_SOURCE rabbitmq-cluster-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/rabbitmq-cluster-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git rabbitmq-operator' - Cloning into 'rabbitmq-operator'... - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z glance-kuttl-tests ']' - + '[' -z RabbitmqCluster ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=image - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n rabbitmq ']' - + cat - + '[' RabbitmqCluster == OpenStackControlPlane ']' - + '[' RabbitmqCluster == Galera ']' - + '[' RabbitmqCluster == NetConfig ']' - + '[' -n '' ']' - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./rabbitmq.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./rabbitmq.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z rabbitmq ']' - + '[' rabbitmq = rabbitmq ']' - + OPERATOR_NAME=rabbitmq-cluster - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z rabbitmq-cluster ']' - + '[' rabbitmq-cluster = rabbitmq-cluster ']' - + DEPL_NAME=rabbitmq-cluster-operator - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/rabbitmq/cr - + oc apply -f - - rabbitmqcluster.rabbitmq.com/rabbitmq created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' -z quay.io/openstack-k8s-operators/keystone-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=keystone-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE keystone-operator-index - OPERATOR_SOURCE keystone-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op - catalogsource.operators.coreos.com/keystone-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/keystone-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/keystone-operator.git keystone-operator' - Cloning into 'keystone-operator'... - 'Running checkout: git checkout 8677d368dd17' - 'Note: switching to ''8677d368dd17''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at 8677d36 Merge pull request #646 from dprince/operator_sdk_1.41.1' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z glance-kuttl-tests ']' - + '[' -z KeystoneAPI ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' KeystoneAPI == OpenStackControlPlane ']' - + '[' KeystoneAPI == Galera ']' - + '[' KeystoneAPI == NetConfig ']' - + '[' -n '' ']' - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./keystone_v1beta1_keystoneapi.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z keystone ']' - + '[' keystone = rabbitmq-cluster ']' - + DEPL_NAME=keystone-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager -o json - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - bash scripts/operator-deploy-resources.sh - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr ']' - + NEXT_WAIT_TIME=0 - + '[' 0 -eq 15 ']' - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/keystone/cr - + oc apply -f - - keystoneapi.keystone.openstack.org/keystone created - + '[' 0 -lt 15 ']' - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z horizon ']' - + '[' -z quay.io/openstack-k8s-operators/horizon-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=horizon-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE horizon-operator-index - OPERATOR_SOURCE horizon-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/horizon/op - catalogsource.operators.coreos.com/horizon-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/horizon-operator created - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' -z quay.io/openstack-k8s-operators/swift-operator-index:latest ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=swift-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE swift-operator-index - OPERATOR_SOURCE swift-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op - catalogsource.operators.coreos.com/swift-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/swift-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/swift/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/swift-operator.git swift-operator' - Cloning into 'swift-operator'... - 'Running checkout: git checkout d8f4061a919b' - 'Note: switching to ''d8f4061a919b''.' - '' - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. - '' - If you want to create a new branch to retain commits you create, you may - 'do so (now or later) by using -c with the switch command. Example:' - '' - ' git switch -c ' - '' - 'Or undo this operation with:' - '' - ' git switch -' - '' - Turn off this advice by setting config variable advice.detachedHead to false - '' - 'HEAD is now at d8f4061 Merge pull request #415 from stuggi/operator_sdk_1.41.1' - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z glance-kuttl-tests ']' - + '[' -z Swift ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Swift == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 1 '!=' 1 ']' - + (( i=0 )) - + (( i < 1 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 1 )) - + '[' -n '' ']' - + '[' Swift == OpenStackControlPlane ']' - + '[' Swift == Galera ']' - + '[' Swift == NetConfig ']' - + '[' -n '' ']' - + [[ Swift == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Swift == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./swift_v1beta1_swift.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./swift_v1beta1_swift.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "swift-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z swift ']' - + '[' swift = rabbitmq-cluster ']' - + DEPL_NAME=swift-operator-controller-manager - ++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/swift/cr | oc apply -f - - swift.swift.openstack.org/swift created - bash scripts/gen-olm.sh - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' -z 38.102.83.94:5001/openstack-k8s-operators/glance-operator-index:35351eeab4bdfca92de19f8c0830be4670c48745 ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op ']' - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op ']' - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op - + OPERATOR_CHANNEL=alpha - + OPERATOR_SOURCE=glance-operator-index - + OPERATOR_SOURCE_NAMESPACE=openstack-operators - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op - + echo OPERATOR_CHANNEL alpha - OPERATOR_CHANNEL alpha - + echo OPERATOR_SOURCE glance-operator-index - OPERATOR_SOURCE glance-operator-index - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators - OPERATOR_SOURCE_NAMESPACE openstack-operators - + cat - + cat - + cat - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op - catalogsource.operators.coreos.com/glance-operator-index created - operatorgroup.operators.coreos.com/openstack unchanged - subscription.operators.coreos.com/glance-operator created - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/glance/op /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr - bash scripts/clone-operator-repo.sh - 'Cloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/glance-operator glance-operator' - Cloning into 'glance-operator'... - done. - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr - bash scripts/gen-service-kustomize.sh - +++ dirname scripts/gen-service-kustomize.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh --source-only - ++ set -e - + '[' -z glance-kuttl-tests ']' - + '[' -z Glance ']' - + '[' -z osp-secret ']' - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr ']' - + '[' -n '' ']' - + REPLACEMENTS= - + IMAGE=unused,unused,unused - + IMAGE_PATH=containerImage,glanceAPIInternal/containerImage,glanceAPIExternal/containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + VLAN_START=20 - + VLAN_STEP=1 - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr ']' - + pushd /home/zuul/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr - ~/ci-framework-data/artifacts/manifests/glance-kuttl-tests/glance/cr ~/src/github.com/openstack-k8s-operators/install_yamls - + cat - + [[ Glance == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + IFS=, - + read -ra IMAGES - + IFS=, - + read -ra IMAGE_PATHS - + '[' 3 '!=' 3 ']' - + (( i=0 )) - + (( i < 3 )) - + SPEC_PATH=containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 3 )) - + SPEC_PATH=glanceAPIInternal/containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 3 )) - + SPEC_PATH=glanceAPIExternal/containerImage - + SPEC_VALUE=unused - + '[' unused '!=' unused ']' - + (( i++ )) - + (( i < 3 )) - + '[' -n '' ']' - + '[' Glance == OpenStackControlPlane ']' - + '[' Glance == Galera ']' - + '[' Glance == NetConfig ']' - + '[' -n '' ']' - + [[ Glance == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + [[ Glance == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] - + '[' -n '' ']' - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ find . -type f -name '*.yaml' - ++ grep -v kustomization - + yamls=./glance_v1beta1_glance.yaml - + for y in ${yamls[@]} - + kustomize edit add resource ./glance_v1beta1_glance.yaml - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - make wait - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - bash scripts/operator-wait.sh - + TIMEOUT=500s - +++ dirname scripts/operator-wait.sh - ++ cd scripts - ++ pwd -P - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq ']' - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" ]; do sleep 5; done' - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - 'Error from server (NotFound): deployments.apps "glance-operator-controller-manager" not found' - + REPLICAS= - + '[' '' '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=null - + '[' null '!=' 1 ']' - + exit 1 - + '[' -z openstack-operators ']' - + '[' -z glance ']' - + '[' glance = rabbitmq-cluster ']' - + DEPL_NAME=glance-operator-controller-manager - ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o json - ++ jq -e .status.availableReplicas - + REPLICAS=1 - + '[' 1 '!=' 1 ']' - + echo Succeeded - + exit 0 - + rc=0 - + popd - ~/src/github.com/openstack-k8s-operators/install_yamls - + exit 0 - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - make glance_kuttl_run - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'error: the server doesn''t have a resource type "openstackversion"' - 'GLANCE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests --namespace glance-kuttl-tests ' - '2025/11/28 12:12:49 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests ]' - === RUN kuttl - ' harness.go:463: starting setup' - ' harness.go:255: running tests using configured kubeconfig.' - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' - ' harness.go:363: running tests' - ' harness.go:75: going to run test suite with timeout of 240 seconds for each step' - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests has 6 tests' - === RUN kuttl/harness - === RUN kuttl/harness/glance_dist_image_import - === PAUSE kuttl/harness/glance_dist_image_import - === RUN kuttl/harness/glance_image_cache - === PAUSE kuttl/harness/glance_image_cache - === RUN kuttl/harness/glance_single - === PAUSE kuttl/harness/glance_single - === RUN kuttl/harness/glance_single_tls - === PAUSE kuttl/harness/glance_single_tls - === RUN kuttl/harness/glance_split - === PAUSE kuttl/harness/glance_split - === RUN kuttl/harness/glance_split_proxypass - === PAUSE kuttl/harness/glance_split_proxypass - === CONT kuttl/harness/glance_dist_image_import - ' logger.go:42: 12:12:49 | glance_dist_image_import | Ignoring README.md as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 12:12:49 | glance_dist_image_import | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | starting test step 0-deploy' - ' logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | running command: [sh -c oc -n $NAMESPACE kustomize ../../../../config/samples/layout/single | oc -n $NAMESPACE apply -f -' - ' ]' - ' logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance created' - ' logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":2}]''' - ' ]' - ' logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:12:49 | glance_dist_image_import/0-deploy | running command: [sh -c oc -n $NAMESPACE kustomize --load-restrictor LoadRestrictionsNone ../../../../config/samples/openstackclient | oc -n $NAMESPACE apply -f -' - ' ]' - ' logger.go:42: 12:12:50 | glance_dist_image_import/0-deploy | configmap/openstack-scripts-9db6gc427h created' - ' logger.go:42: 12:12:50 | glance_dist_image_import/0-deploy | pod/openstackclient created' - ' logger.go:42: 12:13:43 | glance_dist_image_import/0-deploy | test step completed 0-deploy' - ' logger.go:42: 12:13:43 | glance_dist_image_import/1-import-image | starting test step 1-import-image' - ' logger.go:42: 12:13:43 | glance_dist_image_import/1-import-image | running command: [sh -c oc -n $NAMESPACE exec -it openstackclient --stdin=false -- /bin/sh -c "DOMAIN=glance-default-single.$NAMESPACE.svc ./scripts/dist-image-import.sh"' - ' ]' - ' logger.go:42: 12:13:52 | glance_dist_image_import/1-import-image | usage: openstack image delete [-h] [ ...]' - ' logger.go:42: 12:13:52 | glance_dist_image_import/1-import-image | openstack image delete: error: the following arguments are required: ' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | Property | Value |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | checksum | None |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | container_format | bare |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | created_at | 2025-11-28T12:13:54Z |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | disk_format | qcow2 |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | id | 01c88b51-f9e9-48ed-ac51-bab2a501d535 |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | locations | [] |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | min_disk | 0 |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | min_ram | 0 |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | name | myimage |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | os_hash_algo | None |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | os_hash_value | None |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | os_hidden | False |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | owner | e131a1a395e04aacb07cde56be57e73b |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | protected | False |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | size | None |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | status | queued |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | tags | [] |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | updated_at | 2025-11-28T12:13:54Z |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | virtual_size | Not available |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | | visibility | shared |' - ' logger.go:42: 12:13:54 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+' - ' logger.go:42: 12:13:55 | glance_dist_image_import/1-import-image | Image ID: 01c88b51-f9e9-48ed-ac51-bab2a501d535' - ' logger.go:42: 12:13:57 | glance_dist_image_import/1-import-image | Image Status => queued' - ' logger.go:42: 12:14:01 | glance_dist_image_import/1-import-image | Error finding address for http://glance-default-single-0.glance-default-single.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-single-0.glance-default-single.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host=''glance-default-single-0.glance-default-single.glance-kuttl-tests.svc'', port=9292): Max retries exceeded with url: /versions (Caused by NewConnectionError('': Failed to establish a new connection: [Errno -2] Name or service not known''))' - ' logger.go:42: 12:14:02 | glance_dist_image_import/1-import-image | The ''glance-direct'' import method can only be applied to an image in status ''uploading''' - ' logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+' - ' logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | | ID | Name |' - ' logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+' - ' logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | | 01c88b51-f9e9-48ed-ac51-bab2a501d535 | myimage |' - ' logger.go:42: 12:14:05 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+' - ' logger.go:42: 12:14:08 | glance_dist_image_import/1-import-image | Image Status: queued' - ' logger.go:42: 12:14:14 | glance_dist_image_import/1-import-image | command terminated with exit code 1' - ' case.go:396: failed in step 1-import-image' - ' case.go:398: command "oc -n $NAMESPACE exec -it openstackclient --stdin=false -- /bin/sh ..." failed, exit status 1' - ' logger.go:42: 12:14:14 | glance_dist_image_import | skipping kubernetes event logging' - === CONT kuttl/harness/glance_single_tls - ' logger.go:42: 12:14:14 | glance_single_tls | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/combined-ca-bundle created' - ' logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-internal-svc created' - ' logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-public-svc created' - ' logger.go:42: 12:14:14 | glance_single_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 12:14:14 | glance_single_tls/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 12:14:14 | glance_single_tls/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single_tls | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:14:17 | glance_single_tls/1-deploy_glance | glance.glance.openstack.org/glance configured' - ' logger.go:42: 12:14:17 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:18 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:20 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:21 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:22 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:23 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:24 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:26 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:27 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:28 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:29 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:30 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:32 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:33 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:34 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:35 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:36 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:38 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:39 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:40 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:41 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:42 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:43 | glance_single_tls/1-deploy_glance | running command: [sh -c template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="https:\/\/glance-default-internal.$NAMESPACE.*:https:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:44 | glance_single_tls/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | starting test step 5-cleanup-glance' - ' logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;' - ' for pv in $(oc -n $NAMESPACE get pv | grep "Released.*glance" | cut -f 1 -d " "); do oc -n $NAMESPACE patch pv $pv -p ''{"spec":{"claimRef": null}}''; done' - ' ]' - ' logger.go:42: 12:14:44 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-single-0" deleted' - ' logger.go:42: 12:14:45 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-single-1" deleted' - ' logger.go:42: 12:14:45 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-single-0" deleted' - ' logger.go:42: 12:14:49 | glance_single_tls/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-single-1" deleted' - ' logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage08-crc patched' - ' logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage09-crc patched' - ' logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage12-crc patched' - ' logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | persistentvolume/local-storage13-crc patched' - ' logger.go:42: 12:14:50 | glance_single_tls/5-cleanup-glance | test step completed 5-cleanup-glance' - ' logger.go:42: 12:14:50 | glance_single_tls | skipping kubernetes event logging' - === CONT kuttl/harness/glance_split_proxypass - ' logger.go:42: 12:14:50 | glance_split_proxypass | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 12:14:50 | glance_split_proxypass/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 12:14:50 | glance_split_proxypass/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -' - ' oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/metadata/annotations/glance.openstack.org~1wsgi", "value":"false"}]''' - ' ]' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance created' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:14:51 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:14:52 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:14:53 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:54 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:14:55 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:51Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41076\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:51Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41076 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:51Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:14:56 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41167\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41167 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:14:57 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}" - " logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]''' - ' logger.go:42: 12:14:58 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:14:59 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}" - " logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]''' - ' logger.go:42: 12:15:00 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}" - " logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]''' - ' logger.go:42: 12:15:01 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:14:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41184\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}" - " logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:14:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41184 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:14:51Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]''' - ' logger.go:42: 12:15:02 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"false\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:14:51Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:14:51Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:glanceAPIReadyCounts\":{\".\":{},\"f:default\":{}},\"f:hash\":{\".\":{},\"f:dbsync\":{}},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:03Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"41244\",\"uid\":\"94bab3c5-c5ce-440a-a748-fda352bd3665\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"CronJob completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"DBsync completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:03Z\",\"message\":\"NetworkAttachments completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NetworkAttachmentsReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:51Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:14:56Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"glanceAPIReadyCounts\":{\"default\":0},\"hash\":{\"dbsync\":\"n598h694h67bh55hc7h5d8h645hd7h5b7h79h686h558h556h696h687h54dhb6h5cch676h97hd6h655h67fhb4h5f5hbbh677h5d9h549h544h68bh545q\"},\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"1baec318c22740d4978ecc21ce77128d\"}}" - " logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:false kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-11-28T12:14:51Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[f:glance.openstack.org/wsgi:map[]]]] manager:kubectl-patch operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:14:51Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:glanceAPIReadyCounts:map[.:map[] f:default:map[]] f:hash:map[.:map[] f:dbsync:map[]] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:03Z]] name:glance namespace:glance-kuttl-tests resourceVersion:41244 uid:94bab3c5-c5ce-440a-a748-fda352bd3665] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:03Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:03Z message:CronJob completed reason:Ready status:True type:CronJobReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:03Z message:DBsync completed reason:Ready status:True type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:14:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:14:51Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:03Z message:NetworkAttachments completed reason:Ready status:True type:NetworkAttachmentsReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:14:51Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:14:56Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc glanceAPIReadyCounts:map[default:0] hash:map[dbsync:n598h694h67bh55hc7h5d8h645hd7h5b7h79h686h558h556h696h687h54dhb6h5cch676h97hd6h655h67fhb4h5f5hbbh677h5d9h549h544h68bh545q] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:1baec318c22740d4978ecc21ce77128d]]''' - ' logger.go:42: 12:15:03 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:04 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:05 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:06 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:08 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:09 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:11 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:12 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:13 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:14 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:15 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:16 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:17 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:18 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:19 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 12:15:20 | glance_split_proxypass/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 12:15:20 | glance_split_proxypass/2-scale-glanceapis | starting test step 2-scale-glanceapis' - ' logger.go:42: 12:15:20 | glance_split_proxypass/2-scale-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":3}]''' - ' ]' - ' logger.go:42: 12:15:21 | glance_split_proxypass/2-scale-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:15:34 | glance_split_proxypass/2-scale-glanceapis | test step completed 2-scale-glanceapis' - ' logger.go:42: 12:15:34 | glance_split_proxypass/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis' - ' logger.go:42: 12:15:34 | glance_split_proxypass/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 12:15:34 | glance_split_proxypass/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:15:39 | glance_split_proxypass/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis' - ' logger.go:42: 12:15:39 | glance_split_proxypass/4-scale-down-zero-glanceapis | starting test step 4-scale-down-zero-glanceapis' - ' logger.go:42: 12:15:39 | glance_split_proxypass/4-scale-down-zero-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 12:15:39 | glance_split_proxypass/4-scale-down-zero-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:15:42 | glance_split_proxypass/4-scale-down-zero-glanceapis | test step completed 4-scale-down-zero-glanceapis' - ' logger.go:42: 12:15:42 | glance_split_proxypass/5-cleanup-glance | starting test step 5-cleanup-glance' - ' logger.go:42: 12:15:42 | glance_split_proxypass/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:15:42 | glance_split_proxypass/5-cleanup-glance | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;' - ' for pv in $(oc -n $NAMESPACE get pv | grep "Released.*glance" | cut -f 1 -d " "); do oc -n $NAMESPACE patch pv $pv -p ''{"spec":{"claimRef": null}}''; done' - ' ]' - ' logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-0" deleted' - ' logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-1" deleted' - ' logger.go:42: 12:15:43 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-2" deleted' - ' logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-0" deleted' - ' logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-1" deleted' - ' logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-2" deleted' - ' logger.go:42: 12:15:44 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-0" deleted' - ' logger.go:42: 12:15:45 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-1" deleted' - ' logger.go:42: 12:15:45 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-2" deleted' - ' logger.go:42: 12:15:45 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-0" deleted' - ' logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-1" deleted' - ' logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-2" deleted' - ' logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage01-crc patched' - ' logger.go:42: 12:15:46 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage02-crc patched' - ' logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage04-crc patched' - ' logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage05-crc patched' - ' logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage08-crc patched' - ' logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage09-crc patched' - ' logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage10-crc patched' - ' logger.go:42: 12:15:47 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage11-crc patched' - ' logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage12-crc patched' - ' logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage14-crc patched' - ' logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage16-crc patched' - ' logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | persistentvolume/local-storage17-crc patched' - ' logger.go:42: 12:15:48 | glance_split_proxypass/5-cleanup-glance | test step completed 5-cleanup-glance' - ' logger.go:42: 12:15:48 | glance_split_proxypass | skipping kubernetes event logging' - === CONT kuttl/harness/glance_split - ' logger.go:42: 12:15:48 | glance_split | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 12:15:48 | glance_split/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 12:15:48 | glance_split/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:15:48 | glance_split/1-deploy_glance | glance.glance.openstack.org/glance created' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:49 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:15:49 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:50 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:15:50 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:51 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:15:51 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:52 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:15:52 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:49Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42331\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:53 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:49Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42331 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:48Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:15:53 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42418\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:55 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42418 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:15:55 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}" - " logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:56 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]''' - ' logger.go:42: 12:15:56 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}" - " logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:57 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]''' - ' logger.go:42: 12:15:57 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}" - " logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:15:58 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]''' - ' logger.go:42: 12:15:58 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:15:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:15:59 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:15:59 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:15:59 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}" - " logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:00 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]''' - ' logger.go:42: 12:16:00 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\nenabled_backends = default_backend:swift\\\\n[glance_store]\\\\ndefault_backend = default_backend\\\\n[default_backend]\\\\nswift_store_create_container_on_put = True\\\\nswift_store_auth_version = 3\\\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\\\nswift_store_endpoint_type = internalURL\\\\nswift_store_user = service:glance\\\\nswift_store_key = {{ .ServicePassword }}\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"replicas\\\":1}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:15:48Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:15:48Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:15:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"42435\",\"uid\":\"f1f08d29-18f9-4879-889c-c33fa0c3e882\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"split\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:48Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:56Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:49Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:15:54Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"54dfb125a3ef4769b7f5ea9a2f752b7c\"}}" - " logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:01 | glance_split/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\nenabled_backends = default_backend:swift\\n[glance_store]\\ndefault_backend = default_backend\\n[default_backend]\\nswift_store_create_container_on_put = True\\nswift_store_auth_version = 3\\nswift_store_auth_address = {{ .KeystoneInternalURL }}\\nswift_store_endpoint_type = internalURL\\nswift_store_user = service:glance\\nswift_store_key = {{ .ServicePassword }}\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"replicas\":1}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | ] creationTimestamp:2025-11-28T12:15:48Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:15:48Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:15:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:42435 uid:f1f08d29-18f9-4879-889c-c33fa0c3e882] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | [glance_store]' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | [default_backend]' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:split]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:15:48Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:15:48Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:15:56Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:15:49Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:15:49Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:15:54Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:54dfb125a3ef4769b7f5ea9a2f752b7c]]''' - ' logger.go:42: 12:16:01 | glance_split/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:03 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:03 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:03 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:03 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:04 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:07 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:08 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:09 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:11 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:12 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:17 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:18 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 12:16:19 | glance_split/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 12:16:19 | glance_split/2-scale-glanceapis | starting test step 2-scale-glanceapis' - ' logger.go:42: 12:16:19 | glance_split/2-scale-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":3}]''' - ' ]' - ' logger.go:42: 12:16:19 | glance_split/2-scale-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:16:33 | glance_split/2-scale-glanceapis | test step completed 2-scale-glanceapis' - ' logger.go:42: 12:16:33 | glance_split/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis' - ' logger.go:42: 12:16:33 | glance_split/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 12:16:34 | glance_split/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:16:41 | glance_split/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis' - ' logger.go:42: 12:16:41 | glance_split/4-scale-down-zero-glanceapis | starting test step 4-scale-down-zero-glanceapis' - ' logger.go:42: 12:16:41 | glance_split/4-scale-down-zero-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 12:16:41 | glance_split/4-scale-down-zero-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:16:47 | glance_split/4-scale-down-zero-glanceapis | test step completed 4-scale-down-zero-glanceapis' - ' logger.go:42: 12:16:47 | glance_split/5-cleanup-glance | starting test step 5-cleanup-glance' - ' logger.go:42: 12:16:47 | glance_split/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;' - ' for pv in $(oc -n $NAMESPACE get pv | grep "Released.*glance" | cut -f 1 -d " "); do oc -n $NAMESPACE patch pv $pv -p ''{"spec":{"claimRef": null}}''; done' - ' ]' - ' logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-0" deleted' - ' logger.go:42: 12:16:48 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-1" deleted' - ' logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-2" deleted' - ' logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-0" deleted' - ' logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-1" deleted' - ' logger.go:42: 12:16:49 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-2" deleted' - ' logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-0" deleted' - ' logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-1" deleted' - ' logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-2" deleted' - ' logger.go:42: 12:16:50 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-0" deleted' - ' logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-1" deleted' - ' logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-2" deleted' - ' logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolume/local-storage01-crc patched' - ' logger.go:42: 12:16:51 | glance_split/5-cleanup-glance | persistentvolume/local-storage02-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage04-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage05-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage08-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage09-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage10-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage11-crc patched' - ' logger.go:42: 12:16:52 | glance_split/5-cleanup-glance | persistentvolume/local-storage12-crc patched' - ' logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | persistentvolume/local-storage13-crc patched' - ' logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | persistentvolume/local-storage14-crc patched' - ' logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | persistentvolume/local-storage18-crc patched' - ' logger.go:42: 12:16:53 | glance_split/5-cleanup-glance | test step completed 5-cleanup-glance' - ' logger.go:42: 12:16:53 | glance_split | skipping kubernetes event logging' - === CONT kuttl/harness/glance_single - ' logger.go:42: 12:16:53 | glance_single | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | glance.glance.openstack.org/glance created' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:53Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43572\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data not checked\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding not created\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role not created\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount not created\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"observedGeneration\":1}}" - " logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:53 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:53Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43572 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create not started reason:Init status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data not checked reason:Init status:Unknown type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached create not started reason:Init status:Unknown type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding not created reason:Init status:Unknown type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role not created reason:Init status:Unknown type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount not created reason:Init status:Unknown type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] observedGeneration:1]]''' - ' logger.go:42: 12:16:53 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:54 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:54 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:54 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:54 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:55 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:55 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:55 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:55 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:55 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:16:55 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:16:55 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:56 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:16:56 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:57 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:16:57 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:58 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:16:58 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:16:59 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:16:59 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:00 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:00 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:00 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:00 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:01 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:01 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:01 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:01 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:01 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:01 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:17:01 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:02 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:17:02 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:16:54Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43618\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:16:54Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:03 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:16:54Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43618 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:16:54Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:16:53Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:17:03 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:04Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43716\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:04 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:04Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43716 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:17:04 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:04Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43716\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:05 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:04Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43716 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 12:17:05 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:06 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:06 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:06 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:06 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:07 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:07 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}" - " logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:07 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:07 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:07 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:07 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]''' - ' logger.go:42: 12:17:07 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}" - " logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:08 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]''' - ' logger.go:42: 12:17:08 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}" - " logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:09 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]''' - ' logger.go:42: 12:17:09 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | error: error executing template "{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}": template: output:1:3: executing "output" at : error calling index: index of untyped nil' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | + apiEndpoints=''Error executing template: template: output:1:3: executing "output" at : error calling index: index of untyped nil. Printing more information for debugging the template:' - " logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \ttemplate was:" - " logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \traw data was:" - " logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \t\t{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\",\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"glance.openstack.org/v1beta1\\\",\\\"kind\\\":\\\"Glance\\\",\\\"metadata\\\":{\\\"annotations\\\":{\\\"glance.openstack.org/wsgi\\\":\\\"true\\\"},\\\"name\\\":\\\"glance\\\",\\\"namespace\\\":\\\"glance-kuttl-tests\\\"},\\\"spec\\\":{\\\"customServiceConfig\\\":\\\"[DEFAULT]\\\\ndebug = true\\\\n\\\",\\\"databaseAccount\\\":\\\"glance\\\",\\\"databaseInstance\\\":\\\"openstack\\\",\\\"glanceAPIs\\\":{\\\"default\\\":{\\\"imageCache\\\":{\\\"size\\\":\\\"2G\\\"},\\\"preserveJobs\\\":false,\\\"replicas\\\":1,\\\"type\\\":\\\"single\\\"}},\\\"keystoneEndpoint\\\":\\\"default\\\",\\\"notificationBusInstance\\\":\\\"rabbitmq\\\",\\\"secret\\\":\\\"osp-secret\\\",\\\"serviceUser\\\":\\\"glance\\\",\\\"storage\\\":{\\\"storageClass\\\":\\\"local-storage\\\",\\\"storageRequest\\\":\\\"10G\\\"}}}\\n\"},\"creationTimestamp\":\"2025-11-28T12:16:53Z\",\"finalizers\":[\"openstack.org/glance\"],\"generation\":1,\"managedFields\":[{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:glance.openstack.org/wsgi\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{}}},\"f:spec\":{\".\":{},\"f:apiTimeout\":{},\"f:customServiceConfig\":{},\"f:databaseAccount\":{},\"f:databaseInstance\":{},\"f:glanceAPIs\":{\".\":{},\"f:default\":{\".\":{},\"f:imageCache\":{\".\":{},\"f:cleanerScheduler\":{},\"f:prunerScheduler\":{},\"f:size\":{}},\"f:replicas\":{},\"f:type\":{}}},\"f:keystoneEndpoint\":{},\"f:memcachedInstance\":{},\"f:notificationBusInstance\":{},\"f:passwordSelectors\":{\".\":{},\"f:service\":{}},\"f:preserveJobs\":{},\"f:secret\":{},\"f:serviceUser\":{},\"f:storage\":{\".\":{},\"f:storageClass\":{},\"f:storageRequest\":{}}}},\"manager\":\"kubectl-client-side-apply\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-11-28T12:16:53Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:databaseHostname\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{},\"f:serviceID\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-11-28T12:17:05Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"43733\",\"uid\":\"edf1ee5d-94eb-4342-b470-3d7752bafcf1\"},\"spec\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"dbPurge\":{\"age\":30,\"schedule\":\"1 0 * * *\"},\"glanceAPIs\":{\"default\":{\"apiTimeout\":60,\"containerImage\":\"quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\",\"imageCache\":{\"cleanerScheduler\":\"*/30 * * * *\",\"prunerScheduler\":\"1 0 * * *\",\"size\":\"2G\"},\"override\":{},\"replicas\":1,\"resources\":{},\"storage\":{},\"tls\":{\"api\":{\"internal\":{},\"public\":{}}},\"type\":\"single\"}},\"imageCache\":{\"cleanerScheduler\":\"\",\"prunerScheduler\":\"\",\"size\":\"\"},\"keystoneEndpoint\":\"default\",\"memcachedInstance\":\"memcached\",\"notificationBusInstance\":\"rabbitmq\",\"passwordSelectors\":{\"service\":\"GlancePassword\"},\"preserveJobs\":false,\"quotas\":{\"imageCountTotal\":0,\"imageCountUpload\":0,\"imageSizeTotal\":0,\"imageStageTotal\":0},\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:05Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-11-28T12:16:53Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-11-28T12:17:04Z\",\"message\":\"Service config create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceConfigReady\"}],\"databaseHostname\":\"openstack.glance-kuttl-tests.svc\",\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1,\"serviceID\":\"274f2d9153c84a8eb018c024010df145\"}}" - " logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 12:17:10 | glance_single/1-deploy_glance | \t\tmap[apiVersion:glance.openstack.org/v1beta1 kind:Glance metadata:map[annotations:map[glance.openstack.org/wsgi:true kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"kind\":\"Glance\",\"metadata\":{\"annotations\":{\"glance.openstack.org/wsgi\":\"true\"},\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\"},\"spec\":{\"customServiceConfig\":\"[DEFAULT]\\ndebug = true\\n\",\"databaseAccount\":\"glance\",\"databaseInstance\":\"openstack\",\"glanceAPIs\":{\"default\":{\"imageCache\":{\"size\":\"2G\"},\"preserveJobs\":false,\"replicas\":1,\"type\":\"single\"}},\"keystoneEndpoint\":\"default\",\"notificationBusInstance\":\"rabbitmq\",\"secret\":\"osp-secret\",\"serviceUser\":\"glance\",\"storage\":{\"storageClass\":\"local-storage\",\"storageRequest\":\"10G\"}}}" - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | ] creationTimestamp:2025-11-28T12:16:53Z finalizers:[openstack.org/glance] generation:1 managedFields:[map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:annotations:map[.:map[] f:glance.openstack.org/wsgi:map[] f:kubectl.kubernetes.io/last-applied-configuration:map[]]] f:spec:map[.:map[] f:apiTimeout:map[] f:customServiceConfig:map[] f:databaseAccount:map[] f:databaseInstance:map[] f:glanceAPIs:map[.:map[] f:default:map[.:map[] f:imageCache:map[.:map[] f:cleanerScheduler:map[] f:prunerScheduler:map[] f:size:map[]] f:replicas:map[] f:type:map[]]] f:keystoneEndpoint:map[] f:memcachedInstance:map[] f:notificationBusInstance:map[] f:passwordSelectors:map[.:map[] f:service:map[]] f:preserveJobs:map[] f:secret:map[] f:serviceUser:map[] f:storage:map[.:map[] f:storageClass:map[] f:storageRequest:map[]]]] manager:kubectl-client-side-apply operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:metadata:map[f:finalizers:map[.:map[] v:"openstack.org/glance":map[]]]] manager:manager operation:Update time:2025-11-28T12:16:53Z] map[apiVersion:glance.openstack.org/v1beta1 fieldsType:FieldsV1 fieldsV1:map[f:status:map[.:map[] f:conditions:map[] f:databaseHostname:map[] f:notificationBusSecret:map[] f:observedGeneration:map[] f:serviceID:map[]]] manager:manager operation:Update subresource:status time:2025-11-28T12:17:05Z]] name:glance namespace:glance-kuttl-tests resourceVersion:43733 uid:edf1ee5d-94eb-4342-b470-3d7752bafcf1] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | debug = true' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | databaseAccount:glance databaseInstance:openstack dbPurge:map[age:30 schedule:1 0 * * *] glanceAPIs:map[default:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified imageCache:map[cleanerScheduler:*/30 * * * * prunerScheduler:1 0 * * * size:2G] override:map[] replicas:1 resources:map[] storage:map[] tls:map[api:map[internal:map[] public:map[]]] type:single]] imageCache:map[cleanerScheduler: prunerScheduler: size:] keystoneEndpoint:default memcachedInstance:memcached notificationBusInstance:rabbitmq passwordSelectors:map[service:GlancePassword] preserveJobs:false quotas:map[imageCountTotal:0 imageCountUpload:0 imageSizeTotal:0 imageStageTotal:0] secret:osp-secret serviceUser:glance storage:map[storageClass:local-storage storageRequest:10G]] status:map[conditions:[map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-11-28T12:16:53Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-11-28T12:17:05Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-11-28T12:16:53Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-11-28T12:16:53Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-11-28T12:17:04Z message:Service config create completed reason:Ready status:True type:ServiceConfigReady]] databaseHostname:openstack.glance-kuttl-tests.svc notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1 serviceID:274f2d9153c84a8eb018c024010df145]]''' - ' logger.go:42: 12:17:10 | glance_single/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 12:17:11 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:11 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:11 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:11 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:12 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:13 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:14 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:14 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:14 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:14 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:15 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:16 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:17 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:18 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:20 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:21 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:22 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:23 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:24 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:25 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' regex="http:\/\/glance-default-internal.$NAMESPACE.*:http:\/\/glance-default-public.$NAMESPACE.*"' - ' apiEndpoints=$(oc get -n $NAMESPACE Glance glance -o go-template="$template")' - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' - ' if [ -z "$matches" ]; then' - ' exit 0' - ' else' - ' exit 1' - ' fi' - ' ]' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests Glance glance -o ''go-template={{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + apiEndpoints=http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo http://glance-default-internal.glance-kuttl-tests.svc:9292:http://glance-default-public.glance-kuttl-tests.svc:9292' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ sed -e ''s?http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*??''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + matches=' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' imageTuples=$(oc get -n openstack-operators deployment glance-operator-controller-manager -o go-template="$tupleTemplate")' - ' for ITEM in $(echo $imageTuples); do' - ' # it is an image' - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|'')' - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' - ' template=''{{.spec.containerImage}}''' - ' case $NAME in' - ' API)' - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE glance glance -o go-template="$template")' - ' ;;' - ' esac' - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' - ' echo "$NAME image does not equal $VALUE"' - ' exit 1' - ' fi' - ' fi' - ' done' - ' exit 0' - ' ]' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 0).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + imageTuples=''RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | OPERATOR_CONDITION_NAME#glance-operator.v0.0.1''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ sed -e ''s|^RELATED_IMAGE_GLANCE_\([^_]*\)_.*|\1|''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + NAME=API' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ echo RELATED_IMAGE_GLANCE_API_IMAGE_URL_DEFAULT#quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ sed -e ''s|^.*#\(.*\)|\1|''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + IMG_FROM_ENV=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + template=''{{.spec.containerImage}}''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + case $NAME in' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | ++ oc get -n glance-kuttl-tests glance glance -o ''go-template={{.spec.containerImage}}''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + SERVICE_IMAGE=quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + ''['' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified ''!='' quay.io/podified-antelope-centos9/openstack-glance-api:current-podified '']''' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | + exit 0' - ' logger.go:42: 12:17:26 | glance_single/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 12:17:26 | glance_single/2-scale-glanceapis | starting test step 2-scale-glanceapis' - ' logger.go:42: 12:17:26 | glance_single/2-scale-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":3}]''' - ' ]' - ' logger.go:42: 12:17:26 | glance_single/2-scale-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:17:41 | glance_single/2-scale-glanceapis | test step completed 2-scale-glanceapis' - ' logger.go:42: 12:17:41 | glance_single/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis' - ' logger.go:42: 12:17:41 | glance_single/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 12:17:41 | glance_single/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:17:47 | glance_single/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis' - ' logger.go:42: 12:17:47 | glance_single/4-scale-down-zero-glanceapis | starting test step 4-scale-down-zero-glanceapis' - ' logger.go:42: 12:17:47 | glance_single/4-scale-down-zero-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":0}]''' - ' ]' - ' logger.go:42: 12:17:47 | glance_single/4-scale-down-zero-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:17:52 | glance_single/4-scale-down-zero-glanceapis | test step completed 4-scale-down-zero-glanceapis' - ' logger.go:42: 12:17:52 | glance_single/5-cleanup-glance | starting test step 5-cleanup-glance' - ' logger.go:42: 12:17:52 | glance_single/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;' - ' for pv in $(oc -n $NAMESPACE get pv | grep "Released.*glance" | cut -f 1 -d " "); do oc -n $NAMESPACE patch pv $pv -p ''{"spec":{"claimRef": null}}''; done' - ' ]' - ' logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-single-0" deleted' - ' logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-single-1" deleted' - ' logger.go:42: 12:17:53 | glance_single/5-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-single-2" deleted' - ' logger.go:42: 12:17:54 | glance_single/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-single-0" deleted' - ' logger.go:42: 12:17:54 | glance_single/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-single-1" deleted' - ' logger.go:42: 12:17:54 | glance_single/5-cleanup-glance | persistentvolumeclaim "glance-glance-default-single-2" deleted' - ' logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage01-crc patched' - ' logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage05-crc patched' - ' logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage08-crc patched' - ' logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage12-crc patched' - ' logger.go:42: 12:17:55 | glance_single/5-cleanup-glance | persistentvolume/local-storage13-crc patched' - ' logger.go:42: 12:17:56 | glance_single/5-cleanup-glance | persistentvolume/local-storage18-crc patched' - ' logger.go:42: 12:17:56 | glance_single/5-cleanup-glance | test step completed 5-cleanup-glance' - ' logger.go:42: 12:17:56 | glance_single | skipping kubernetes event logging' - === CONT kuttl/harness/glance_image_cache - ' logger.go:42: 12:17:56 | glance_image_cache | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance created' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":2}]''' - ' ]' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | running command: [sh -c oc -n $NAMESPACE kustomize --load-restrictor LoadRestrictionsNone ../../../../config/samples/openstackclient | oc -n $NAMESPACE apply -f -' - ' ]' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | configmap/openstack-scripts-9db6gc427h unchanged' - ' logger.go:42: 12:17:56 | glance_image_cache/1-deploy_glance | pod/openstackclient configured' - ' logger.go:42: 12:18:13 | glance_image_cache/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 12:18:13 | glance_image_cache/2-cache-image | starting test step 2-cache-image' - ' logger.go:42: 12:18:13 | glance_image_cache/2-cache-image | running command: [sh -c sleep 20; oc -n $NAMESPACE exec -it openstackclient --stdin=false -- /bin/sh -c "DOMAIN=glance-default-external-api.$NAMESPACE.svc REPLICA=glance-default-external-api- ./scripts/cache_and_delete_image.sh"' - ' ]' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + TIME=3' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + CACHE_TIME=6' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + DOMAIN=glance-default-external-api.glance-kuttl-tests.svc' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + REPLICA=glance-default-external-api-' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + IMAGE_NAME=myimage' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | ++ awk ''/auth_url/ {print $2}'' /etc/openstack/clouds.yaml' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + KEYSTONE=http://keystone-public.glance-kuttl-tests.svc:5000' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + ADMIN_PWD=12345678' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + ADMIN_USER=admin' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + glance=''glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default ''' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + exec' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + echo This is a dodgy image' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + openstack image list -c ID -f value' - ' logger.go:42: 12:18:33 | glance_image_cache/2-cache-image | + xargs -n 1 openstack image delete' - ' logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | usage: openstack image delete [-h] [ ...]' - ' logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | openstack image delete: error: the following arguments are required: ' - ' logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:18:37 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:18:38 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host=''glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc'', port=9292): Max retries exceeded with url: /versions (Caused by NewConnectionError('': Failed to establish a new connection: [Errno -2] Name or service not known''))' - ' logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | + CACHED_ID=' - ' logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:18:39 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + CACHED_ID=' - ' logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | Creating new image.' - ' logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + echo ''Creating new image.''' - ' logger.go:42: 12:18:42 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --verbose image-create --disk-format qcow2 --container-format bare --name myimage --file myimage' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | Property | Value |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | checksum | 69bcebf29946998555945bfd562df6f0 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | container_format | bare |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | created_at | 2025-11-28T12:18:44Z |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | disk_format | qcow2 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | id | be5f5781-789a-4f82-90cf-be03f4b7b6a3 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | min_disk | 0 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | min_ram | 0 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | name | myimage |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | os_hash_algo | sha512 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | os_hash_value | 756138eda333dfdd93b80d8bae18b447fbab34462db0cc57df732b81e51015961e815e04c09b42da |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | | 7de16058d0fc34812d6ecc3496bd7519c395202e88705ccc |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | os_hidden | False |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | owner | e131a1a395e04aacb07cde56be57e73b |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | protected | False |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | size | 22 |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | status | active |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | stores | default_backend |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | tags | [] |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | updated_at | 2025-11-28T12:18:45Z |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | virtual_size | Not available |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | | visibility | shared |' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+' - ' logger.go:42: 12:18:46 | glance_image_cache/2-cache-image | + sleep 3' - ' logger.go:42: 12:18:49 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default image-list' - ' logger.go:42: 12:18:49 | glance_image_cache/2-cache-image | ++ awk -v img=myimage ''$0 ~ img {print $2}''' - ' logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | + ID=be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | + echo ''Image ID: be5f5781-789a-4f82-90cf-be03f4b7b6a3''' - ' logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | + sleep 3' - ' logger.go:42: 12:18:53 | glance_image_cache/2-cache-image | Image ID: be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:18:56 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default image-show be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:18:56 | glance_image_cache/2-cache-image | ++ awk ''/status/{print $4}''' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | Image Status => active' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | Caching image on replica 0' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + STATE=active' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + echo ''Image Status => active''' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + [[ active != \a\c\t\i\v\e ]]' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + echo ''Caching image on replica 0''' - ' logger.go:42: 12:18:57 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-queue be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:18:59 | glance_image_cache/2-cache-image | + sleep 6' - ' logger.go:42: 12:19:05 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:19:05 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | Cached image id on replica 0 => be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | Verifying image is not cached on replica 1' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + CACHED_ID=be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 0 => be5f5781-789a-4f82-90cf-be03f4b7b6a3''' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != be5f5781-789a-4f82-90cf-be03f4b7b6a3 ]]' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | + echo ''Verifying image is not cached on replica 1''' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:19:06 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | Cached image id on replica 1 => ' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | Caching image on replica 1' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + CACHED_ID_1=' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 1 => ''' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + echo ''Caching image on replica 1''' - ' logger.go:42: 12:19:08 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-queue be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:09 | glance_image_cache/2-cache-image | + sleep 6' - ' logger.go:42: 12:19:15 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:19:15 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | Deleting cached image from replica 0' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + CACHED_ID_2=be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3''' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != be5f5781-789a-4f82-90cf-be03f4b7b6a3 ]]' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + echo ''Deleting cached image from replica 0''' - ' logger.go:42: 12:19:17 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-delete be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | + echo ''Verifying image is still cached on replica 1''' - ' logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | Verifying image is still cached on replica 1' - ' logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:19:18 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + CACHED_ID_3=be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3''' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != be5f5781-789a-4f82-90cf-be03f4b7b6a3 ]]' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | + echo ''Verify Cached image is deleted from replica 0''' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-0.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | Cached image id on replica 1 => be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:19 | glance_image_cache/2-cache-image | Verify Cached image is deleted from replica 0' - ' logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + CACHED_ID_4=' - ' logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + echo ''Deleting image be5f5781-789a-4f82-90cf-be03f4b7b6a3''' - ' logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default image-delete be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:21 | glance_image_cache/2-cache-image | Deleting image be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:23 | glance_image_cache/2-cache-image | ++ glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-list' - ' logger.go:42: 12:19:23 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + CACHED_ID_5=be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + [[ be5f5781-789a-4f82-90cf-be03f4b7b6a3 != '''' ]]' - ' logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + echo ''Deleting cached image from replica 1''' - ' logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | + glance --os-auth-url http://keystone-public.glance-kuttl-tests.svc:5000 --os-project-name admin --os-username admin --os-password 12345678 --os-user-domain-name default --os-project-domain-name default --os-image-url http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292 cache-delete be5f5781-789a-4f82-90cf-be03f4b7b6a3' - ' logger.go:42: 12:19:25 | glance_image_cache/2-cache-image | Deleting cached image from replica 1' - ' logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | + echo ''Caching tests executed successfully!!!''' - ' logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | + exit 0' - ' logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | Caching tests executed successfully!!!' - ' logger.go:42: 12:19:26 | glance_image_cache/2-cache-image | test step completed 2-cache-image' - ' logger.go:42: 12:19:26 | glance_image_cache/3-scale-down-glanceapis | starting test step 3-scale-down-glanceapis' - ' logger.go:42: 12:19:26 | glance_image_cache/3-scale-down-glanceapis | running command: [sh -c oc patch Glance -n $NAMESPACE glance --type=''json'' -p=''[{"op": "replace", "path": "/spec/glanceAPIs/default/replicas", "value":1}]''' - ' ]' - ' logger.go:42: 12:19:26 | glance_image_cache/3-scale-down-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 12:19:28 | glance_image_cache/3-scale-down-glanceapis | test step completed 3-scale-down-glanceapis' - ' logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | starting test step 4-cleanup-glance' - ' logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | running command: [sh -c oc -n $NAMESPACE get pvc -l service=glance -o custom-columns=NAME:.metadata.name --no-headers | xargs -n 1 oc -n $NAMESPACE delete pvc;' - ' for pv in $(oc -n $NAMESPACE get pv | grep "Released.*glance" | cut -f 1 -d " "); do oc -n $NAMESPACE patch pv $pv -p ''{"spec":{"claimRef": null}}''; done' - ' ]' - ' logger.go:42: 12:19:28 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-0" deleted' - ' logger.go:42: 12:19:33 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-external-api-1" deleted' - ' logger.go:42: 12:19:33 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-0" deleted' - ' logger.go:42: 12:19:33 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-cache-glance-default-internal-api-1" deleted' - ' logger.go:42: 12:19:34 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-0" deleted' - ' logger.go:42: 12:19:34 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-glance-default-external-api-1" deleted' - ' logger.go:42: 12:19:34 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-0" deleted' - ' logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolumeclaim "glance-glance-default-internal-api-1" deleted' - ' logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage01-crc patched' - ' logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage05-crc patched' - ' logger.go:42: 12:19:35 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage08-crc patched' - ' logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage09-crc patched' - ' logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage10-crc patched' - ' logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage12-crc patched' - ' logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage13-crc patched' - ' logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | persistentvolume/local-storage18-crc patched' - ' logger.go:42: 12:19:36 | glance_image_cache/4-cleanup-glance | test step completed 4-cleanup-glance' - ' logger.go:42: 12:19:36 | glance_image_cache | skipping kubernetes event logging' - === NAME kuttl - ' harness.go:406: run tests finished' - ' harness.go:514: cleaning up' - ' harness.go:571: removing temp folder: ""' - '--- FAIL: kuttl (407.41s)' - ' --- FAIL: kuttl/harness (0.00s)' - ' --- FAIL: kuttl/harness/glance_dist_image_import (85.33s)' - ' --- PASS: kuttl/harness/glance_single_tls (36.09s)' - ' --- PASS: kuttl/harness/glance_split_proxypass (57.80s)' - ' --- PASS: kuttl/harness/glance_split (64.78s)' - ' --- PASS: kuttl/harness/glance_single (62.72s)' - ' --- PASS: kuttl/harness/glance_image_cache (100.68s)' - FAIL - 'make[1]: *** [Makefile:2021: glance_kuttl_run] Error 1' - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make: *** [Makefile:2030: glance_kuttl] Error 2' 2025-11-28 12:19:37,155 p=31757 u=zuul n=ansible | ...ignoring 2025-11-28 12:19:37,198 p=31757 u=zuul n=ansible | TASK [Get resource status after glance_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_after_{{ operator }}_kuttl.log ] *** 2025-11-28 12:19:37,198 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:14:08.075) 0:16:42.863 ******* 2025-11-28 12:19:37,198 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:14:08.075) 0:16:42.861 ******* 2025-11-28 12:19:37,215 p=31757 u=zuul n=ansible | fatal: [localhost]: FAILED! => msg: '''commands_after_kuttl_run'' is undefined. ''commands_after_kuttl_run'' is undefined' 2025-11-28 12:19:37,215 p=31757 u=zuul n=ansible | ...ignoring 2025-11-28 12:19:37,226 p=31757 u=zuul n=ansible | TASK [Find the generated JUnitXML files paths={{ cifmw_installyamls_repos }}, file_type=file, patterns=*.xml] *** 2025-11-28 12:19:37,226 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:00:00.027) 0:16:42.891 ******* 2025-11-28 12:19:37,226 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:00:00.027) 0:16:42.889 ******* 2025-11-28 12:19:37,402 p=31757 u=zuul n=ansible | ok: [localhost] 2025-11-28 12:19:37,410 p=31757 u=zuul n=ansible | TASK [Create the test results directory path={{ _kuttl_test_result_dir }}, state=directory, mode=0755] *** 2025-11-28 12:19:37,410 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:00:00.184) 0:16:43.075 ******* 2025-11-28 12:19:37,410 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:00:00.184) 0:16:43.073 ******* 2025-11-28 12:19:37,611 p=31757 u=zuul n=ansible | changed: [localhost] 2025-11-28 12:19:37,625 p=31757 u=zuul n=ansible | TASK [Copy the generated test results to the test results directory src={{ item.path }}, dest={{ _kuttl_test_result_dir }}, mode=0644] *** 2025-11-28 12:19:37,626 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:00:00.215) 0:16:43.291 ******* 2025-11-28 12:19:37,626 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:37 +0000 (0:00:00.215) 0:16:43.289 ******* 2025-11-28 12:19:38,239 p=31757 u=zuul n=ansible | changed: [localhost] => (item={'path': '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-glance.xml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 1336, 'inode': 42089236, 'dev': 64513, 'nlink': 1, 'atime': 1764332376.8051288, 'mtime': 1764332376.8051288, 'ctime': 1764332376.8051288, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) 2025-11-28 12:19:38,249 p=31757 u=zuul n=ansible | TASK [Fail when any tests failed that=['_kuttl_curr_operator_result.rc == 0'], success_msg=KUTTL tests for {{ operator }} passed, fail_msg=KUTTL tests for {{ operator }} failed] *** 2025-11-28 12:19:38,250 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:38 +0000 (0:00:00.623) 0:16:43.914 ******* 2025-11-28 12:19:38,250 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:38 +0000 (0:00:00.623) 0:16:43.913 ******* 2025-11-28 12:19:38,299 p=31757 u=zuul n=ansible | fatal: [localhost]: FAILED! => assertion: _kuttl_curr_operator_result.rc == 0 changed: false evaluated_to: false msg: KUTTL tests for glance failed 2025-11-28 12:19:38,300 p=31757 u=zuul n=ansible | NO MORE HOSTS LEFT ************************************************************* 2025-11-28 12:19:38,302 p=31757 u=zuul n=ansible | PLAY RECAP ********************************************************************* 2025-11-28 12:19:38,302 p=31757 u=zuul n=ansible | localhost : ok=110 changed=50 unreachable=0 failed=1 skipped=59 rescued=0 ignored=5 2025-11-28 12:19:38,302 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:38 +0000 (0:00:00.052) 0:16:43.967 ******* 2025-11-28 12:19:38,302 p=31757 u=zuul n=ansible | =============================================================================== 2025-11-28 12:19:38,302 p=31757 u=zuul n=ansible | install_yamls_makes : Run glance_kuttl -------------------------------- 848.08s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | install_yamls_makes : Run download_tools ------------------------------- 35.75s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_setup : Install needed packages ------------------------------------- 28.17s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage : Perform action in the PV directory ------------------ 11.39s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage : Remove the cifmw_cls_namespace namespace ------------ 10.83s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage : Perform action in the PV directory ------------------ 10.42s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | repo_setup : Initialize python venv and install requirements ----------- 10.18s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | install_yamls_makes : Run crc_attach_default_interface ------------------ 5.22s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_setup : Install openshift client ------------------------------------- 5.16s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | openshift_setup : Create required namespaces ---------------------------- 1.98s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.67s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | install_ca : Update ca bundle ------------------------------------------- 1.45s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.44s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | Gathering Facts --------------------------------------------------------- 1.08s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_setup : Manage directories ------------------------------------------- 1.04s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | repo_setup : Make sure git-core package is installed -------------------- 0.96s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage : Apply pv related storage manifest file --------------- 0.96s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | repo_setup : Get repo-setup repository ---------------------------------- 0.90s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | openshift_setup : Gather network.operator info -------------------------- 0.89s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | openshift_setup : Patch network operator -------------------------------- 0.88s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | Friday 28 November 2025 12:19:38 +0000 (0:00:00.053) 0:16:43.967 ******* 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | =============================================================================== 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | install_yamls_makes --------------------------------------------------- 889.20s 2025-11-28 12:19:38,303 p=31757 u=zuul n=ansible | ci_local_storage ------------------------------------------------------- 41.65s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ci_setup --------------------------------------------------------------- 35.67s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | repo_setup ------------------------------------------------------------- 18.99s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | openshift_setup --------------------------------------------------------- 5.17s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | openshift_login --------------------------------------------------------- 3.95s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | install_yamls ----------------------------------------------------------- 3.33s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | install_ca -------------------------------------------------------------- 1.88s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | gather_facts ------------------------------------------------------------ 1.08s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | cifmw_setup ------------------------------------------------------------- 0.65s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.copy ---------------------------------------------------- 0.62s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | discover_latest_image --------------------------------------------------- 0.44s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.include_role -------------------------------------------- 0.31s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | run_hook ---------------------------------------------------------------- 0.25s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.file ---------------------------------------------------- 0.22s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.find ---------------------------------------------------- 0.18s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.set_fact ------------------------------------------------ 0.10s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.include_tasks ------------------------------------------- 0.06s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.assert -------------------------------------------------- 0.05s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.include_vars -------------------------------------------- 0.05s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ansible.builtin.shell --------------------------------------------------- 0.05s 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-11-28 12:19:38,304 p=31757 u=zuul n=ansible | total ---------------------------------------------------------------- 1003.92s