2025-10-01 09:16:55,688 p=27262 u=zuul n=ansible | Starting galaxy collection install process 2025-10-01 09:16:55,689 p=27262 u=zuul n=ansible | Process install dependency map 2025-10-01 09:17:09,955 p=27262 u=zuul n=ansible | Starting collection install process 2025-10-01 09:17:09,956 p=27262 u=zuul n=ansible | Installing 'cifmw.general:1.0.0+21d73e76' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general' 2025-10-01 09:17:10,421 p=27262 u=zuul n=ansible | Created collection for cifmw.general:1.0.0+21d73e76 at /home/zuul/.ansible/collections/ansible_collections/cifmw/general 2025-10-01 09:17:10,421 p=27262 u=zuul n=ansible | cifmw.general:1.0.0+21d73e76 was installed successfully 2025-10-01 09:17:10,421 p=27262 u=zuul n=ansible | Installing 'containers.podman:1.16.2' to '/home/zuul/.ansible/collections/ansible_collections/containers/podman' 2025-10-01 09:17:10,474 p=27262 u=zuul n=ansible | Created collection for containers.podman:1.16.2 at /home/zuul/.ansible/collections/ansible_collections/containers/podman 2025-10-01 09:17:10,474 p=27262 u=zuul n=ansible | containers.podman:1.16.2 was installed successfully 2025-10-01 09:17:10,474 p=27262 u=zuul n=ansible | Installing 'community.general:10.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general' 2025-10-01 09:17:11,225 p=27262 u=zuul n=ansible | Created collection for community.general:10.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general 2025-10-01 09:17:11,226 p=27262 u=zuul n=ansible | community.general:10.0.1 was installed successfully 2025-10-01 09:17:11,226 p=27262 u=zuul n=ansible | Installing 'ansible.posix:1.6.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix' 2025-10-01 09:17:11,276 p=27262 u=zuul n=ansible | Created collection for ansible.posix:1.6.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix 2025-10-01 09:17:11,276 p=27262 u=zuul n=ansible | ansible.posix:1.6.2 was installed successfully 2025-10-01 09:17:11,276 p=27262 u=zuul n=ansible | Installing 'ansible.utils:5.1.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils' 2025-10-01 09:17:11,370 p=27262 u=zuul n=ansible | Created collection for ansible.utils:5.1.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils 2025-10-01 09:17:11,371 p=27262 u=zuul n=ansible | ansible.utils:5.1.2 was installed successfully 2025-10-01 09:17:11,371 p=27262 u=zuul n=ansible | Installing 'community.libvirt:1.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/libvirt' 2025-10-01 09:17:11,394 p=27262 u=zuul n=ansible | Created collection for community.libvirt:1.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/libvirt 2025-10-01 09:17:11,395 p=27262 u=zuul n=ansible | community.libvirt:1.3.0 was installed successfully 2025-10-01 09:17:11,395 p=27262 u=zuul n=ansible | Installing 'community.crypto:2.22.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto' 2025-10-01 09:17:11,535 p=27262 u=zuul n=ansible | Created collection for community.crypto:2.22.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto 2025-10-01 09:17:11,535 p=27262 u=zuul n=ansible | community.crypto:2.22.3 was installed successfully 2025-10-01 09:17:11,535 p=27262 u=zuul n=ansible | Installing 'kubernetes.core:5.0.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core' 2025-10-01 09:17:11,654 p=27262 u=zuul n=ansible | Created collection for kubernetes.core:5.0.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core 2025-10-01 09:17:11,654 p=27262 u=zuul n=ansible | kubernetes.core:5.0.0 was installed successfully 2025-10-01 09:17:11,654 p=27262 u=zuul n=ansible | Installing 'ansible.netcommon:7.1.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon' 2025-10-01 09:17:11,724 p=27262 u=zuul n=ansible | Created collection for ansible.netcommon:7.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon 2025-10-01 09:17:11,724 p=27262 u=zuul n=ansible | ansible.netcommon:7.1.0 was installed successfully 2025-10-01 09:17:11,724 p=27262 u=zuul n=ansible | Installing 'openstack.config_template:2.1.1' to '/home/zuul/.ansible/collections/ansible_collections/openstack/config_template' 2025-10-01 09:17:11,743 p=27262 u=zuul n=ansible | Created collection for openstack.config_template:2.1.1 at /home/zuul/.ansible/collections/ansible_collections/openstack/config_template 2025-10-01 09:17:11,743 p=27262 u=zuul n=ansible | openstack.config_template:2.1.1 was installed successfully 2025-10-01 09:17:11,743 p=27262 u=zuul n=ansible | Installing 'junipernetworks.junos:9.1.0' to '/home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos' 2025-10-01 09:17:11,993 p=27262 u=zuul n=ansible | Created collection for junipernetworks.junos:9.1.0 at /home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos 2025-10-01 09:17:11,993 p=27262 u=zuul n=ansible | junipernetworks.junos:9.1.0 was installed successfully 2025-10-01 09:17:11,994 p=27262 u=zuul n=ansible | Installing 'cisco.ios:9.0.3' to '/home/zuul/.ansible/collections/ansible_collections/cisco/ios' 2025-10-01 09:17:12,257 p=27262 u=zuul n=ansible | Created collection for cisco.ios:9.0.3 at /home/zuul/.ansible/collections/ansible_collections/cisco/ios 2025-10-01 09:17:12,258 p=27262 u=zuul n=ansible | cisco.ios:9.0.3 was installed successfully 2025-10-01 09:17:12,258 p=27262 u=zuul n=ansible | Installing 'mellanox.onyx:1.0.0' to '/home/zuul/.ansible/collections/ansible_collections/mellanox/onyx' 2025-10-01 09:17:12,289 p=27262 u=zuul n=ansible | Created collection for mellanox.onyx:1.0.0 at /home/zuul/.ansible/collections/ansible_collections/mellanox/onyx 2025-10-01 09:17:12,289 p=27262 u=zuul n=ansible | mellanox.onyx:1.0.0 was installed successfully 2025-10-01 09:17:12,289 p=27262 u=zuul n=ansible | Installing 'community.okd:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/okd' 2025-10-01 09:17:12,317 p=27262 u=zuul n=ansible | Created collection for community.okd:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/okd 2025-10-01 09:17:12,317 p=27262 u=zuul n=ansible | community.okd:4.0.0 was installed successfully 2025-10-01 09:17:12,318 p=27262 u=zuul n=ansible | Installing '@NAMESPACE@.@NAME@:3.1.4' to '/home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@' 2025-10-01 09:17:12,403 p=27262 u=zuul n=ansible | Created collection for @NAMESPACE@.@NAME@:3.1.4 at /home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@ 2025-10-01 09:17:12,403 p=27262 u=zuul n=ansible | @NAMESPACE@.@NAME@:3.1.4 was installed successfully 2025-10-01 09:17:23,744 p=28101 u=zuul n=ansible | PLAY [Bootstrap playbook] ****************************************************** 2025-10-01 09:17:23,761 p=28101 u=zuul n=ansible | TASK [Gathering Facts ] ******************************************************** 2025-10-01 09:17:23,762 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:23 +0000 (0:00:00.033) 0:00:00.033 ***** 2025-10-01 09:17:24,748 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:24,776 p=28101 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-10-01 09:17:24,776 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:24 +0000 (0:00:01.014) 0:00:01.047 ***** 2025-10-01 09:17:24,818 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:24,827 p=28101 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-10-01 09:17:24,827 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:24 +0000 (0:00:00.050) 0:00:01.098 ***** 2025-10-01 09:17:24,882 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:24,890 p=28101 u=zuul n=ansible | TASK [install_ca : Ensure target directory exists path={{ cifmw_install_ca_trust_dir }}, state=directory, mode=0755] *** 2025-10-01 09:17:24,890 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:24 +0000 (0:00:00.062) 0:00:01.161 ***** 2025-10-01 09:17:25,626 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:25,632 p=28101 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-10-01 09:17:25,632 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:25 +0000 (0:00:00.742) 0:00:01.903 ***** 2025-10-01 09:17:25,663 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:25,673 p=28101 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-10-01 09:17:25,673 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:25 +0000 (0:00:00.040) 0:00:01.944 ***** 2025-10-01 09:17:25,698 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:25,704 p=28101 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-10-01 09:17:25,704 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:25 +0000 (0:00:00.030) 0:00:01.975 ***** 2025-10-01 09:17:25,727 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:25,736 p=28101 u=zuul n=ansible | TASK [install_ca : Update ca bundle _raw_params=update-ca-trust] *************** 2025-10-01 09:17:25,736 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:25 +0000 (0:00:00.032) 0:00:02.007 ***** 2025-10-01 09:17:27,127 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:27,138 p=28101 u=zuul n=ansible | TASK [repo_setup : Ensure directories are present path={{ cifmw_repo_setup_basedir }}/{{ item }}, state=directory, mode=0755] *** 2025-10-01 09:17:27,138 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:27 +0000 (0:00:01.402) 0:00:03.409 ***** 2025-10-01 09:17:27,321 p=28101 u=zuul n=ansible | changed: [localhost] => (item=tmp) 2025-10-01 09:17:27,491 p=28101 u=zuul n=ansible | changed: [localhost] => (item=artifacts/repositories) 2025-10-01 09:17:27,647 p=28101 u=zuul n=ansible | changed: [localhost] => (item=venv/repo_setup) 2025-10-01 09:17:27,654 p=28101 u=zuul n=ansible | TASK [repo_setup : Make sure git-core package is installed name=git-core, state=present] *** 2025-10-01 09:17:27,654 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:27 +0000 (0:00:00.515) 0:00:03.925 ***** 2025-10-01 09:17:28,592 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:28,599 p=28101 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-10-01 09:17:28,599 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:28 +0000 (0:00:00.945) 0:00:04.870 ***** 2025-10-01 09:17:30,024 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:30,032 p=28101 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-10-01 09:17:30,032 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:30 +0000 (0:00:01.432) 0:00:06.303 ***** 2025-10-01 09:17:39,324 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:39,330 p=28101 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-10-01 09:17:39,330 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:39 +0000 (0:00:09.297) 0:00:15.601 ***** 2025-10-01 09:17:40,131 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:40,138 p=28101 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-10-01 09:17:40,138 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:40 +0000 (0:00:00.808) 0:00:16.409 ***** 2025-10-01 09:17:40,155 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:40,161 p=28101 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-10-01 09:17:40,162 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:40 +0000 (0:00:00.023) 0:00:16.433 ***** 2025-10-01 09:17:40,749 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:40,756 p=28101 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-10-01 09:17:40,756 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:40 +0000 (0:00:00.594) 0:00:17.027 ***** 2025-10-01 09:17:40,785 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:40,791 p=28101 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-10-01 09:17:40,791 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:40 +0000 (0:00:00.035) 0:00:17.062 ***** 2025-10-01 09:17:40,823 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:40,829 p=28101 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-10-01 09:17:40,830 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:40 +0000 (0:00:00.038) 0:00:17.101 ***** 2025-10-01 09:17:40,859 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:40,865 p=28101 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-10-01 09:17:40,865 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:40 +0000 (0:00:00.035) 0:00:17.136 ***** 2025-10-01 09:17:41,335 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:41,341 p=28101 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-10-01 09:17:41,342 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:41 +0000 (0:00:00.476) 0:00:17.613 ***** 2025-10-01 09:17:42,036 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:42,042 p=28101 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-10-01 09:17:42,042 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.700) 0:00:18.313 ***** 2025-10-01 09:17:42,057 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,063 p=28101 u=zuul n=ansible | TASK [repo_setup : Slurp current podified hash src={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5] *** 2025-10-01 09:17:42,063 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.021) 0:00:18.334 ***** 2025-10-01 09:17:42,078 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,085 p=28101 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-10-01 09:17:42,085 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.021) 0:00:18.356 ***** 2025-10-01 09:17:42,100 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,107 p=28101 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-10-01 09:17:42,107 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.021) 0:00:18.378 ***** 2025-10-01 09:17:42,132 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:42,137 p=28101 u=zuul n=ansible | TASK [repo_setup : Create download directory path={{ cifmw_repo_setup_rhos_release_path }}, state=directory, mode=0755] *** 2025-10-01 09:17:42,137 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.030) 0:00:18.408 ***** 2025-10-01 09:17:42,150 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,158 p=28101 u=zuul n=ansible | TASK [repo_setup : Print the URL to request msg={{ cifmw_repo_setup_rhos_release_rpm }}] *** 2025-10-01 09:17:42,158 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.020) 0:00:18.429 ***** 2025-10-01 09:17:42,171 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,178 p=28101 u=zuul n=ansible | TASK [Download the RPM name=krb_request] *************************************** 2025-10-01 09:17:42,178 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.019) 0:00:18.449 ***** 2025-10-01 09:17:42,191 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,198 p=28101 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-10-01 09:17:42,199 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.020) 0:00:18.470 ***** 2025-10-01 09:17:42,212 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,219 p=28101 u=zuul n=ansible | TASK [repo_setup : Get rhos-release tool version _raw_params=rhos-release --version] *** 2025-10-01 09:17:42,219 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.020) 0:00:18.490 ***** 2025-10-01 09:17:42,231 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,237 p=28101 u=zuul n=ansible | TASK [repo_setup : Print rhos-release tool version msg={{ rr_version.stdout }}] *** 2025-10-01 09:17:42,237 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.018) 0:00:18.508 ***** 2025-10-01 09:17:42,250 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,258 p=28101 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-10-01 09:17:42,258 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.020) 0:00:18.529 ***** 2025-10-01 09:17:42,271 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:42,277 p=28101 u=zuul n=ansible | TASK [repo_setup : Check for /etc/ci/mirror_info.sh path=/etc/ci/mirror_info.sh] *** 2025-10-01 09:17:42,277 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.019) 0:00:18.548 ***** 2025-10-01 09:17:42,439 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:42,446 p=28101 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-10-01 09:17:42,446 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.169) 0:00:18.717 ***** 2025-10-01 09:17:42,634 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:42,640 p=28101 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-10-01 09:17:42,640 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.194) 0:00:18.911 ***** 2025-10-01 09:17:42,884 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:42,890 p=28101 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-10-01 09:17:42,890 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:42 +0000 (0:00:00.249) 0:00:19.161 ***** 2025-10-01 09:17:43,369 p=28101 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.27:8766/gating.repo 2025-10-01 09:17:43,370 p=28101 u=zuul n=ansible | ...ignoring 2025-10-01 09:17:43,380 p=28101 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-10-01 09:17:43,380 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.490) 0:00:19.651 ***** 2025-10-01 09:17:43,406 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:43,417 p=28101 u=zuul n=ansible | TASK [repo_setup : Check for DLRN repo at the destination path={{ cifmw_repo_setup_output }}/delorean.repo] *** 2025-10-01 09:17:43,417 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.036) 0:00:19.688 ***** 2025-10-01 09:17:43,443 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:43,450 p=28101 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-10-01 09:17:43,450 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.032) 0:00:19.721 ***** 2025-10-01 09:17:43,480 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:43,486 p=28101 u=zuul n=ansible | TASK [repo_setup : Check for DLRN component repo path={{ cifmw_repo_setup_output }}/{{ _comp_repo }}] *** 2025-10-01 09:17:43,486 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.036) 0:00:19.757 ***** 2025-10-01 09:17:43,519 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:43,527 p=28101 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-10-01 09:17:43,527 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.041) 0:00:19.798 ***** 2025-10-01 09:17:43,556 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:17:43,562 p=28101 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-10-01 09:17:43,562 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.035) 0:00:19.833 ***** 2025-10-01 09:17:43,833 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:17:43,839 p=28101 u=zuul n=ansible | TASK [repo_setup : Remove existing repos from /etc/yum.repos.d directory path={{ item }}, state=absent] *** 2025-10-01 09:17:43,839 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:43 +0000 (0:00:00.276) 0:00:20.110 ***** 2025-10-01 09:17:44,042 p=28101 u=zuul n=ansible | changed: [localhost] => (item=/etc/yum.repos.d/centos-addons.repo) 2025-10-01 09:17:44,233 p=28101 u=zuul n=ansible | changed: [localhost] => (item=/etc/yum.repos.d/centos.repo) 2025-10-01 09:17:44,241 p=28101 u=zuul n=ansible | TASK [repo_setup : Cleanup existing metadata _raw_params=dnf clean metadata] *** 2025-10-01 09:17:44,241 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:44 +0000 (0:00:00.402) 0:00:20.512 ***** 2025-10-01 09:17:44,655 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:44,661 p=28101 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-10-01 09:17:44,661 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:44 +0000 (0:00:00.420) 0:00:20.932 ***** 2025-10-01 09:17:44,890 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:17:44,901 p=28101 u=zuul n=ansible | TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] *** 2025-10-01 09:17:44,901 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:44 +0000 (0:00:00.239) 0:00:21.172 ***** 2025-10-01 09:17:44,931 p=28101 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml) 2025-10-01 09:17:44,937 p=28101 u=zuul n=ansible | TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] ********* 2025-10-01 09:17:44,937 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:44 +0000 (0:00:00.035) 0:00:21.208 ***** 2025-10-01 09:17:44,951 p=28101 u=zuul n=ansible | ok: [localhost] => cifmw_ci_setup_packages: - bash-completion - ca-certificates - git-core - make - tar - tmux - python3-pip 2025-10-01 09:17:44,957 p=28101 u=zuul n=ansible | TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] *** 2025-10-01 09:17:44,957 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:17:44 +0000 (0:00:00.019) 0:00:21.228 ***** 2025-10-01 09:18:12,271 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:12,277 p=28101 u=zuul n=ansible | TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] *** 2025-10-01 09:18:12,278 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:12 +0000 (0:00:27.320) 0:00:48.549 ***** 2025-10-01 09:18:12,465 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:12,472 p=28101 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-10-01 09:18:12,472 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:12 +0000 (0:00:00.194) 0:00:48.743 ***** 2025-10-01 09:18:12,654 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:12,662 p=28101 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-10-01 09:18:12,662 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:12 +0000 (0:00:00.189) 0:00:48.933 ***** 2025-10-01 09:18:17,770 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:17,779 p=28101 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-10-01 09:18:17,779 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:17 +0000 (0:00:05.116) 0:00:54.050 ***** 2025-10-01 09:18:17,801 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:17,810 p=28101 u=zuul n=ansible | TASK [ci_setup : Create completion file] *************************************** 2025-10-01 09:18:17,810 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:17 +0000 (0:00:00.031) 0:00:54.081 ***** 2025-10-01 09:18:18,122 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:18,131 p=28101 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-10-01 09:18:18,131 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.320) 0:00:54.402 ***** 2025-10-01 09:18:18,424 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:18,430 p=28101 u=zuul n=ansible | TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] **** 2025-10-01 09:18:18,430 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.299) 0:00:54.701 ***** 2025-10-01 09:18:18,446 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:18,454 p=28101 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-10-01 09:18:18,454 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.023) 0:00:54.725 ***** 2025-10-01 09:18:18,470 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:18,478 p=28101 u=zuul n=ansible | TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] *** 2025-10-01 09:18:18,479 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.024) 0:00:54.750 ***** 2025-10-01 09:18:18,496 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:18,502 p=28101 u=zuul n=ansible | TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] *** 2025-10-01 09:18:18,502 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.023) 0:00:54.773 ***** 2025-10-01 09:18:18,519 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:18,528 p=28101 u=zuul n=ansible | TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] *** 2025-10-01 09:18:18,528 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.025) 0:00:54.799 ***** 2025-10-01 09:18:18,543 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:18,550 p=28101 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-10-01 09:18:18,550 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.022) 0:00:54.821 ***** 2025-10-01 09:18:18,569 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:18,575 p=28101 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-10-01 09:18:18,575 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:18 +0000 (0:00:00.024) 0:00:54.846 ***** 2025-10-01 09:18:18,812 p=28101 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr) 2025-10-01 09:18:19,012 p=28101 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/logs) 2025-10-01 09:18:19,211 p=28101 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/tmp) 2025-10-01 09:18:19,401 p=28101 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes) 2025-10-01 09:18:19,615 p=28101 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-10-01 09:18:19,633 p=28101 u=zuul n=ansible | TASK [Prepare install_yamls make targets name=install_yamls, apply={'tags': ['bootstrap']}] *** 2025-10-01 09:18:19,633 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:19 +0000 (0:00:01.057) 0:00:55.904 ***** 2025-10-01 09:18:19,767 p=28101 u=zuul n=ansible | TASK [install_yamls : Ensure directories exist path={{ item }}, state=directory, mode=0755] *** 2025-10-01 09:18:19,767 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:19 +0000 (0:00:00.134) 0:00:56.038 ***** 2025-10-01 09:18:19,986 p=28101 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts) 2025-10-01 09:18:20,116 p=28101 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks) 2025-10-01 09:18:20,275 p=28101 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-10-01 09:18:20,282 p=28101 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-10-01 09:18:20,282 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:20 +0000 (0:00:00.514) 0:00:56.553 ***** 2025-10-01 09:18:20,314 p=28101 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-10-01 09:18:20,314 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:20 +0000 (0:00:00.032) 0:00:56.585 ***** 2025-10-01 09:18:20,357 p=28101 u=zuul n=ansible | ok: [localhost] => (item={'branch': 'main', 'change': '807', 'change_url': 'https://github.com/openstack-k8s-operators/glance-operator/pull/807', 'commit_id': 'cb960769c9cc3013d7b401f1587a0fc0a591e36d', 'patchset': 'cb960769c9cc3013d7b401f1587a0fc0a591e36d', '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-10-01 09:18:20,366 p=28101 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-10-01 09:18:20,366 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:20 +0000 (0:00:00.052) 0:00:56.637 ***** 2025-10-01 09:18:20,410 p=28101 u=zuul n=ansible | ok: [localhost] => (item={'branch': 'main', 'change': '807', 'change_url': 'https://github.com/openstack-k8s-operators/glance-operator/pull/807', 'commit_id': 'cb960769c9cc3013d7b401f1587a0fc0a591e36d', 'patchset': 'cb960769c9cc3013d7b401f1587a0fc0a591e36d', '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-10-01 09:18:20,433 p=28101 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-10-01 09:18:20,434 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:20 +0000 (0:00:00.067) 0:00:56.705 ***** 2025-10-01 09:18:20,488 p=28101 u=zuul n=ansible | ok: [localhost] => (item={'BMO_SETUP': False}) 2025-10-01 09:18:20,496 p=28101 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|rhos')) | ternary(zuul.branch, 'main') }) | combine(install_yamls_operators_repos) }}, cacheable=True] *** 2025-10-01 09:18:20,496 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:20 +0000 (0:00:00.062) 0:00:56.767 ***** 2025-10-01 09:18:20,536 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:20,542 p=28101 u=zuul n=ansible | TASK [install_yamls : Get environment structure base_path={{ cifmw_install_yamls_repo }}] *** 2025-10-01 09:18:20,542 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:20 +0000 (0:00:00.045) 0:00:56.813 ***** 2025-10-01 09:18:21,096 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:21,104 p=28101 u=zuul n=ansible | TASK [install_yamls : Ensure Output directory exists path={{ cifmw_install_yamls_out_dir }}, state=directory, mode=0755] *** 2025-10-01 09:18:21,104 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.562) 0:00:57.375 ***** 2025-10-01 09:18:21,288 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:21,295 p=28101 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-10-01 09:18:21,295 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.190) 0:00:57.566 ***** 2025-10-01 09:18:21,329 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:21,342 p=28101 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-10-01 09:18:21,342 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.047) 0:00:57.613 ***** 2025-10-01 09:18:21,715 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:21,721 p=28101 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-10-01 09:18:21,721 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.378) 0:00:57.992 ***** 2025-10-01 09:18:21,745 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:21,752 p=28101 u=zuul n=ansible | TASK [install_yamls : Show the env structure var=cifmw_install_yamls_environment] *** 2025-10-01 09:18:21,752 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.031) 0:00:58.023 ***** 2025-10-01 09:18:21,773 p=28101 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-10-01 09:18:21,780 p=28101 u=zuul n=ansible | TASK [install_yamls : Show the env structure defaults var=cifmw_install_yamls_defaults] *** 2025-10-01 09:18:21,780 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.028) 0:00:58.051 ***** 2025-10-01 09:18:21,813 p=28101 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/tests/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/tests/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.6 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/tests/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/tests/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/tests/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/tests/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_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/tests/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/tests/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/tests/chainsaw/config.yaml MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/tests/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/tests/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/tests/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/tests/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/tests/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/tests/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/tests/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_NAMESPACE: telemetry-kuttl-tests TELEMETRY_KUTTL_RELPATH: tests/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_PWD:' 2025-10-01 09:18:21,824 p=28101 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-10-01 09:18:21,824 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:21 +0000 (0:00:00.044) 0:00:58.095 ***** 2025-10-01 09:18:22,157 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:22,163 p=28101 u=zuul n=ansible | TASK [install_yamls : Debug generate_make module var=cifmw_generate_makes] ***** 2025-10-01 09:18:22,164 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:22 +0000 (0:00:00.339) 0:00:58.435 ***** 2025-10-01 09:18:22,192 p=28101 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-10-01 09:18:22,202 p=28101 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-10-01 09:18:22,203 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:22 +0000 (0:00:00.039) 0:00:58.474 ***** 2025-10-01 09:18:22,616 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:22,628 p=28101 u=zuul n=ansible | TASK [install_yamls : Create empty cifmw_install_yamls_environment if needed cifmw_install_yamls_environment={}] *** 2025-10-01 09:18:22,628 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:22 +0000 (0:00:00.425) 0:00:58.899 ***** 2025-10-01 09:18:22,648 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:22,669 p=28101 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-10-01 09:18:22,669 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:22 +0000 (0:00:00.041) 0:00:58.940 ***** 2025-10-01 09:18:23,035 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:23,043 p=28101 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-10-01 09:18:23,043 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:23 +0000 (0:00:00.374) 0:00:59.314 ***** 2025-10-01 09:18:23,064 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:23,077 p=28101 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-10-01 09:18:23,077 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:23 +0000 (0:00:00.034) 0:00:59.348 ***** 2025-10-01 09:18:23,457 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:23,488 p=28101 u=zuul n=ansible | PLAY [Install deps and prepare for KUTTL run] ********************************** 2025-10-01 09:18:23,505 p=28101 u=zuul n=ansible | TASK [Download install_yamls deps name=install_yamls_makes, tasks_from=make_download_tools] *** 2025-10-01 09:18:23,505 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:23 +0000 (0:00:00.428) 0:00:59.776 ***** 2025-10-01 09:18:23,551 p=28101 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_download_tools_env var=make_download_tools_env] *** 2025-10-01 09:18:23,551 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:23 +0000 (0:00:00.045) 0:00:59.822 ***** 2025-10-01 09:18:23,567 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:23,574 p=28101 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_download_tools_params var=make_download_tools_params] *** 2025-10-01 09:18:23,575 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:23 +0000 (0:00:00.023) 0:00:59.846 ***** 2025-10-01 09:18:23,592 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:23,601 p=28101 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-10-01 09:18:23,601 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:23 +0000 (0:00:00.026) 0:00:59.872 ***** 2025-10-01 09:18:23,640 p=28101 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_000_run_download.log 2025-10-01 09:18:57,795 p=28101 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ make_download_tools_until | default(true) }} 2025-10-01 09:18:57,797 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:57,808 p=28101 u=zuul n=ansible | TASK [Login into Openshift cluster name=openshift_login] *********************** 2025-10-01 09:18:57,808 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:57 +0000 (0:00:34.207) 0:01:34.079 ***** 2025-10-01 09:18:57,891 p=28101 u=zuul n=ansible | TASK [openshift_login : Ensure output directory exists path={{ cifmw_openshift_login_basedir }}/artifacts, state=directory, mode=0755] *** 2025-10-01 09:18:57,891 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:57 +0000 (0:00:00.082) 0:01:34.162 ***** 2025-10-01 09:18:58,087 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:58,097 p=28101 u=zuul n=ansible | TASK [openshift_login : OpenShift login _raw_params=login.yml] ***************** 2025-10-01 09:18:58,097 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.205) 0:01:34.368 ***** 2025-10-01 09:18:58,124 p=28101 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/login.yml for localhost 2025-10-01 09:18:58,132 p=28101 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-10-01 09:18:58,132 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.035) 0:01:34.403 ***** 2025-10-01 09:18:58,153 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:58,160 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch user password content src={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-10-01 09:18:58,160 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.028) 0:01:34.431 ***** 2025-10-01 09:18:58,181 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:58,189 p=28101 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-10-01 09:18:58,189 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.028) 0:01:34.460 ***** 2025-10-01 09:18:58,209 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:58,216 p=28101 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-10-01 09:18:58,216 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.027) 0:01:34.487 ***** 2025-10-01 09:18:58,246 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:58,253 p=28101 u=zuul n=ansible | TASK [openshift_login : Check if kubeconfig exists path={{ cifmw_openshift_login_kubeconfig }}] *** 2025-10-01 09:18:58,253 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.036) 0:01:34.524 ***** 2025-10-01 09:18:58,416 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:58,428 p=28101 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-10-01 09:18:58,428 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.174) 0:01:34.699 ***** 2025-10-01 09:18:58,450 p=28101 u=zuul n=ansible | ok: [localhost] => changed: false msg: All assertions passed 2025-10-01 09:18:58,458 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch kubeconfig content src={{ cifmw_openshift_login_kubeconfig }}] *** 2025-10-01 09:18:58,458 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.030) 0:01:34.729 ***** 2025-10-01 09:18:58,475 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:58,483 p=28101 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-10-01 09:18:58,483 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.024) 0:01:34.754 ***** 2025-10-01 09:18:58,501 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:58,510 p=28101 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-10-01 09:18:58,510 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.027) 0:01:34.781 ***** 2025-10-01 09:18:58,532 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:18:58,545 p=28101 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-10-01 09:18:58,545 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.034) 0:01:34.816 ***** 2025-10-01 09:18:58,575 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:58,586 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch token _raw_params=try_login.yml] ***************** 2025-10-01 09:18:58,586 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.041) 0:01:34.857 ***** 2025-10-01 09:18:58,613 p=28101 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-10-01 09:18:58,624 p=28101 u=zuul n=ansible | TASK [openshift_login : Try get OpenShift access token _raw_params=oc whoami -t] *** 2025-10-01 09:18:58,624 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.038) 0:01:34.895 ***** 2025-10-01 09:18:58,944 p=28101 u=zuul n=ansible | fatal: [localhost]: FAILED! => changed: true cmd: - oc - whoami - -t delta: '0:00:00.138560' end: '2025-10-01 09:18:58.925956' msg: non-zero return code rc: 1 start: '2025-10-01 09:18:58.787396' 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-10-01 09:18:58,945 p=28101 u=zuul n=ansible | ...ignoring 2025-10-01 09:18:58,952 p=28101 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-10-01 09:18:58,952 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:58 +0000 (0:00:00.327) 0:01:35.223 ***** 2025-10-01 09:18:59,020 p=28101 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-10-01 09:18:59,392 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:59,402 p=28101 u=zuul n=ansible | TASK [openshift_login : Ensure kubeconfig is provided that=cifmw_openshift_login_kubeconfig != ""] *** 2025-10-01 09:18:59,402 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:59 +0000 (0:00:00.450) 0:01:35.673 ***** 2025-10-01 09:18:59,421 p=28101 u=zuul n=ansible | ok: [localhost] => changed: false msg: All assertions passed 2025-10-01 09:18:59,431 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch new OpenShift access token _raw_params=oc whoami -t] *** 2025-10-01 09:18:59,431 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:59 +0000 (0:00:00.029) 0:01:35.702 ***** 2025-10-01 09:18:59,740 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:18:59,748 p=28101 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-10-01 09:18:59,748 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:59 +0000 (0:00:00.316) 0:01:36.019 ***** 2025-10-01 09:18:59,772 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:18:59,778 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift API URL _raw_params=oc whoami --show-server=true] *** 2025-10-01 09:18:59,778 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:18:59 +0000 (0:00:00.030) 0:01:36.049 ***** 2025-10-01 09:19:00,087 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:00,094 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift kubeconfig context _raw_params=oc whoami -c] *** 2025-10-01 09:19:00,094 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:00 +0000 (0:00:00.315) 0:01:36.365 ***** 2025-10-01 09:19:00,443 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:00,451 p=28101 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift current user _raw_params=oc whoami] **** 2025-10-01 09:19:00,451 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:00 +0000 (0:00:00.356) 0:01:36.722 ***** 2025-10-01 09:19:00,755 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:00,766 p=28101 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-10-01 09:19:00,766 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:00 +0000 (0:00:00.315) 0:01:37.037 ***** 2025-10-01 09:19:00,797 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:00,807 p=28101 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-10-01 09:19:00,808 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:00 +0000 (0:00:00.041) 0:01:37.079 ***** 2025-10-01 09:19:01,222 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:01,238 p=28101 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-10-01 09:19:01,239 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:01 +0000 (0:00:00.431) 0:01:37.510 ***** 2025-10-01 09:19:01,543 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:01,554 p=28101 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-10-01 09:19:01,554 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:01 +0000 (0:00:00.315) 0:01:37.825 ***** 2025-10-01 09:19:01,989 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:02,016 p=28101 u=zuul n=ansible | TASK [openshift_setup : Ensure output directory exists path={{ cifmw_openshift_setup_basedir }}/artifacts, state=directory, mode=0755] *** 2025-10-01 09:19:02,016 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:02 +0000 (0:00:00.461) 0:01:38.287 ***** 2025-10-01 09:19:02,192 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:02,203 p=28101 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-10-01 09:19:02,203 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:02 +0000 (0:00:00.186) 0:01:38.474 ***** 2025-10-01 09:19:02,224 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:02,239 p=28101 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-10-01 09:19:02,239 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:02 +0000 (0:00:00.035) 0:01:38.510 ***** 2025-10-01 09:19:03,128 p=28101 u=zuul n=ansible | changed: [localhost] => (item=openstack) 2025-10-01 09:19:03,857 p=28101 u=zuul n=ansible | changed: [localhost] => (item=openstack-operators) 2025-10-01 09:19:03,869 p=28101 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-10-01 09:19:03,869 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:03 +0000 (0:00:01.630) 0:01:40.140 ***** 2025-10-01 09:19:03,893 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:03,901 p=28101 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-10-01 09:19:03,901 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:03 +0000 (0:00:00.032) 0:01:40.172 ***** 2025-10-01 09:19:03,932 p=28101 u=zuul n=ansible | skipping: [localhost] => (item=openstack) 2025-10-01 09:19:03,933 p=28101 u=zuul n=ansible | skipping: [localhost] => (item=openstack-operators) 2025-10-01 09:19:03,934 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:03,944 p=28101 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-10-01 09:19:03,944 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:03 +0000 (0:00:00.043) 0:01:40.215 ***** 2025-10-01 09:19:03,967 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:03,980 p=28101 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-10-01 09:19:03,980 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:03 +0000 (0:00:00.035) 0:01:40.251 ***** 2025-10-01 09:19:04,003 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,011 p=28101 u=zuul n=ansible | TASK [Ensure we have custom CA installed on host role=install_ca] ************** 2025-10-01 09:19:04,011 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.030) 0:01:40.282 ***** 2025-10-01 09:19:04,031 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,039 p=28101 u=zuul n=ansible | TASK [openshift_setup : Update ca bundle _raw_params=update-ca-trust extract] *** 2025-10-01 09:19:04,039 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.027) 0:01:40.310 ***** 2025-10-01 09:19:04,057 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,065 p=28101 u=zuul n=ansible | TASK [openshift_setup : Slurp CAs file src={{ cifmw_openshift_setup_ca_bundle_path }}] *** 2025-10-01 09:19:04,065 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.025) 0:01:40.336 ***** 2025-10-01 09:19:04,084 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,092 p=28101 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-10-01 09:19:04,092 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.027) 0:01:40.363 ***** 2025-10-01 09:19:04,112 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,121 p=28101 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-10-01 09:19:04,121 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.029) 0:01:40.392 ***** 2025-10-01 09:19:04,141 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,148 p=28101 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-10-01 09:19:04,148 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.027) 0:01:40.419 ***** 2025-10-01 09:19:04,168 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,177 p=28101 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-10-01 09:19:04,177 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.028) 0:01:40.448 ***** 2025-10-01 09:19:04,198 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,205 p=28101 u=zuul n=ansible | TASK [openshift_setup : Metal3 tweaks _raw_params=metal3_config.yml] *********** 2025-10-01 09:19:04,205 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.028) 0:01:40.476 ***** 2025-10-01 09:19:04,227 p=28101 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_setup/tasks/metal3_config.yml for localhost 2025-10-01 09:19:04,236 p=28101 u=zuul n=ansible | TASK [openshift_setup : Fetch Metal3 configuration name _raw_params=oc get Provisioning -o name] *** 2025-10-01 09:19:04,236 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.030) 0:01:40.507 ***** 2025-10-01 09:19:04,253 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,260 p=28101 u=zuul n=ansible | TASK [openshift_setup : Apply the patch to Metal3 Provisioning _raw_params=oc patch {{ _cifmw_openshift_setup_provisioning_name.stdout }} --type='json' -p='[{"op": "replace", "path": "/spec/watchAllNamespaces", "value": true}]'] *** 2025-10-01 09:19:04,260 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.024) 0:01:40.531 ***** 2025-10-01 09:19:04,280 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:04,287 p=28101 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-10-01 09:19:04,287 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:04 +0000 (0:00:00.026) 0:01:40.558 ***** 2025-10-01 09:19:05,130 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:05,141 p=28101 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-10-01 09:19:05,141 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:05 +0000 (0:00:00.853) 0:01:41.412 ***** 2025-10-01 09:19:06,047 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:06,054 p=28101 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-10-01 09:19:06,054 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:06 +0000 (0:00:00.913) 0:01:42.325 ***** 2025-10-01 09:19:06,822 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:06,830 p=28101 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-10-01 09:19:06,830 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:06 +0000 (0:00:00.775) 0:01:43.101 ***** 2025-10-01 09:19:06,847 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:06,859 p=28101 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-10-01 09:19:06,859 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:06 +0000 (0:00:00.028) 0:01:43.130 ***** 2025-10-01 09:19:06,875 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:06,895 p=28101 u=zuul n=ansible | TASK [Attach default network to CRC name=install_yamls_makes, tasks_from=make_crc_attach_default_interface] *** 2025-10-01 09:19:06,895 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:06 +0000 (0:00:00.035) 0:01:43.166 ***** 2025-10-01 09:19:06,970 p=28101 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_env var=make_crc_attach_default_interface_env] *** 2025-10-01 09:19:06,970 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:06 +0000 (0:00:00.075) 0:01:43.241 ***** 2025-10-01 09:19:07,007 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:07,014 p=28101 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_params var=make_crc_attach_default_interface_params] *** 2025-10-01 09:19:07,015 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:07 +0000 (0:00:00.044) 0:01:43.286 ***** 2025-10-01 09:19:07,044 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:07,052 p=28101 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-10-01 09:19:07,052 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:07 +0000 (0:00:00.037) 0:01:43.323 ***** 2025-10-01 09:19:07,099 p=28101 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-10-01 09:19:12,260 p=28101 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-10-01 09:19:12,261 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:12,285 p=28101 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-10-01 09:19:12,285 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:05.232) 0:01:48.556 ***** 2025-10-01 09:19:12,369 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:12,379 p=28101 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-10-01 09:19:12,379 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.093) 0:01:48.650 ***** 2025-10-01 09:19:12,456 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:12,467 p=28101 u=zuul n=ansible | TASK [run_hook : Loop on hooks for pre_kuttl _raw_params={{ hook.type }}.yml] *** 2025-10-01 09:19:12,468 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.088) 0:01:48.739 ***** 2025-10-01 09:19:12,535 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:12,555 p=28101 u=zuul n=ansible | TASK [Run kuttl tests _raw_params=run-kuttl-tests.yml] ************************* 2025-10-01 09:19:12,555 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.087) 0:01:48.826 ***** 2025-10-01 09:19:12,594 p=28101 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-10-01 09:19:12,626 p=28101 u=zuul n=ansible | TASK [Load parameters dir={{ cifmw_basedir }}/artifacts/parameters] ************ 2025-10-01 09:19:12,626 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.070) 0:01:48.897 ***** 2025-10-01 09:19:12,673 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:12,681 p=28101 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-10-01 09:19:12,682 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.055) 0:01:48.952 ***** 2025-10-01 09:19:12,711 p=28101 u=zuul n=ansible | ok: [localhost] => (item={'key': 'glance-operator', 'value': {'git_commit_hash': 'cb960769c9cc3013d7b401f1587a0fc0a591e36d', 'git_src_dir': '/home/zuul/src/github.com/openstack-k8s-operators/glance-operator', 'image': '38.102.83.27:5001/openstack-k8s-operators/glance-operator:cb960769c9cc3013d7b401f1587a0fc0a591e36d', 'image_bundle': '38.102.83.27:5001/openstack-k8s-operators/glance-operator-bundle:cb960769c9cc3013d7b401f1587a0fc0a591e36d', 'image_catalog': '38.102.83.27:5001/openstack-k8s-operators/glance-operator-index:cb960769c9cc3013d7b401f1587a0fc0a591e36d'}}) 2025-10-01 09:19:12,720 p=28101 u=zuul n=ansible | ok: [localhost] => (item={'key': 'openstack-operator', 'value': {'git_commit_hash': 'bd5d8355e5b007deb3e3833c300596ac2ed7a744', 'git_src_dir': '~/src/github.com/openstack-k8s-operators/openstack-operator', 'image': '38.102.83.27:5001/openstack-k8s-operators/openstack-operator:bd5d8355e5b007deb3e3833c300596ac2ed7a744', 'image_bundle': '38.102.83.27:5001/openstack-k8s-operators/openstack-operator-bundle:bd5d8355e5b007deb3e3833c300596ac2ed7a744', 'image_catalog': '38.102.83.27:5001/openstack-k8s-operators/openstack-operator-index:bd5d8355e5b007deb3e3833c300596ac2ed7a744'}}) 2025-10-01 09:19:12,732 p=28101 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-10-01 09:19:12,732 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.050) 0:01:49.003 ***** 2025-10-01 09:19:12,752 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:12,763 p=28101 u=zuul n=ansible | TASK [Clean storage beforehand name=ci_local_storage, tasks_from=cleanup.yml] *** 2025-10-01 09:19:12,763 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.030) 0:01:49.034 ***** 2025-10-01 09:19:12,818 p=28101 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-10-01 09:19:12,818 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:12 +0000 (0:00:00.054) 0:01:49.089 ***** 2025-10-01 09:19:13,546 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:13,553 p=28101 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-10-01 09:19:13,554 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:13 +0000 (0:00:00.735) 0:01:49.825 ***** 2025-10-01 09:19:13,576 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:13,586 p=28101 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-10-01 09:19:13,586 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:13 +0000 (0:00:00.032) 0:01:49.857 ***** 2025-10-01 09:19:13,598 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:13,610 p=28101 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-10-01 09:19:13,610 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:13 +0000 (0:00:00.024) 0:01:49.881 ***** 2025-10-01 09:19:14,328 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:14,336 p=28101 u=zuul n=ansible | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-10-01 09:19:14,336 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:14 +0000 (0:00:00.725) 0:01:50.607 ***** 2025-10-01 09:19:15,184 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=crc) 2025-10-01 09:19:15,679 p=28101 u=zuul n=ansible | changed: [localhost -> controller(38.129.56.50)] => (item=controller) 2025-10-01 09:19:15,842 p=28101 u=zuul n=ansible | changed: [localhost] => (item=localhost) 2025-10-01 09:19:15,844 p=28101 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-10-01 09:19:15,856 p=28101 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-10-01 09:19:15,857 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:15 +0000 (0:00:01.520) 0:01:52.128 ***** 2025-10-01 09:19:15,895 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:15,908 p=28101 u=zuul n=ansible | TASK [ci_local_storage : Delete directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-10-01 09:19:15,908 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:15 +0000 (0:00:00.051) 0:01:52.179 ***** 2025-10-01 09:19:15,941 p=28101 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-10-01 09:19:15,956 p=28101 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-10-01 09:19:15,956 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:15 +0000 (0:00:00.047) 0:01:52.227 ***** 2025-10-01 09:19:16,398 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=1) 2025-10-01 09:19:16,884 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=2) 2025-10-01 09:19:17,328 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=3) 2025-10-01 09:19:17,739 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=4) 2025-10-01 09:19:18,324 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=5) 2025-10-01 09:19:18,779 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=6) 2025-10-01 09:19:19,212 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=7) 2025-10-01 09:19:19,677 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=8) 2025-10-01 09:19:20,097 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=9) 2025-10-01 09:19:20,570 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=10) 2025-10-01 09:19:21,065 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=11) 2025-10-01 09:19:21,480 p=28101 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.194)] => (item=12) 2025-10-01 09:19:21,503 p=28101 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-10-01 09:19:21,504 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:21 +0000 (0:00:05.547) 0:01:57.775 ***** 2025-10-01 09:19:32,339 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:32,355 p=28101 u=zuul n=ansible | TASK [Create storage name=ci_local_storage] ************************************ 2025-10-01 09:19:32,355 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:32 +0000 (0:00:10.851) 0:02:08.626 ***** 2025-10-01 09:19:32,405 p=28101 u=zuul n=ansible | TASK [ci_local_storage : Create role needed directories path={{ cifmw_cls_manifests_dir }}, state=directory, mode=0755] *** 2025-10-01 09:19:32,405 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:32 +0000 (0:00:00.049) 0:02:08.676 ***** 2025-10-01 09:19:32,594 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:32,602 p=28101 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-10-01 09:19:32,602 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:32 +0000 (0:00:00.197) 0:02:08.873 ***** 2025-10-01 09:19:33,383 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:33,390 p=28101 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-10-01 09:19:33,390 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:33 +0000 (0:00:00.788) 0:02:09.661 ***** 2025-10-01 09:19:33,786 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:33,806 p=28101 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-10-01 09:19:33,807 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:33 +0000 (0:00:00.416) 0:02:10.078 ***** 2025-10-01 09:19:34,526 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:34,536 p=28101 u=zuul n=ansible | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-10-01 09:19:34,536 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:34 +0000 (0:00:00.729) 0:02:10.807 ***** 2025-10-01 09:19:34,986 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=crc) 2025-10-01 09:19:35,300 p=28101 u=zuul n=ansible | changed: [localhost -> controller(38.129.56.50)] => (item=controller) 2025-10-01 09:19:35,461 p=28101 u=zuul n=ansible | changed: [localhost] => (item=localhost) 2025-10-01 09:19:35,471 p=28101 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-10-01 09:19:35,471 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:35 +0000 (0:00:00.934) 0:02:11.742 ***** 2025-10-01 09:19:35,504 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:35,512 p=28101 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-10-01 09:19:35,513 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:35 +0000 (0:00:00.041) 0:02:11.784 ***** 2025-10-01 09:19:36,237 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:36,254 p=28101 u=zuul n=ansible | TASK [ci_local_storage : Create directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-10-01 09:19:36,255 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:36 +0000 (0:00:00.741) 0:02:12.526 ***** 2025-10-01 09:19:36,287 p=28101 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-10-01 09:19:36,305 p=28101 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-10-01 09:19:36,305 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:36 +0000 (0:00:00.050) 0:02:12.576 ***** 2025-10-01 09:19:36,763 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=1) 2025-10-01 09:19:37,162 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=2) 2025-10-01 09:19:37,559 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=3) 2025-10-01 09:19:37,967 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=4) 2025-10-01 09:19:38,361 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=5) 2025-10-01 09:19:38,781 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=6) 2025-10-01 09:19:39,251 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=7) 2025-10-01 09:19:39,662 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=8) 2025-10-01 09:19:40,056 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=9) 2025-10-01 09:19:40,493 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=10) 2025-10-01 09:19:40,992 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=11) 2025-10-01 09:19:41,445 p=28101 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.194)] => (item=12) 2025-10-01 09:19:41,459 p=28101 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-10-01 09:19:41,459 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:41 +0000 (0:00:05.153) 0:02:17.730 ***** 2025-10-01 09:19:41,912 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:41,921 p=28101 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-10-01 09:19:41,921 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:41 +0000 (0:00:00.461) 0:02:18.192 ***** 2025-10-01 09:19:42,753 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:19:42,770 p=28101 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-10-01 09:19:42,770 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:42 +0000 (0:00:00.848) 0:02:19.041 ***** 2025-10-01 09:19:42,791 p=28101 u=zuul n=ansible | fatal: [localhost]: FAILED! => msg: '''commands_before_kuttl_run'' is undefined. ''commands_before_kuttl_run'' is undefined' 2025-10-01 09:19:42,791 p=28101 u=zuul n=ansible | ...ignoring 2025-10-01 09:19:42,808 p=28101 u=zuul n=ansible | TASK [Set make_glance_kuttl_env vars make_{{ operator }}_kuttl_env={{ cifmw_kuttl_tests_env }}] *** 2025-10-01 09:19:42,809 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:42 +0000 (0:00:00.038) 0:02:19.080 ***** 2025-10-01 09:19:42,832 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:19:42,843 p=28101 u=zuul n=ansible | TASK [Run make_glance_kuttl name=install_yamls_makes, tasks_from=make_{{ operator }}_kuttl.yml, apply={'ignore_errors': True}] *** 2025-10-01 09:19:42,844 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:42 +0000 (0:00:00.034) 0:02:19.114 ***** 2025-10-01 09:19:42,904 p=28101 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_glance_kuttl_env var=make_glance_kuttl_env] *** 2025-10-01 09:19:42,905 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:42 +0000 (0:00:00.061) 0:02:19.176 ***** 2025-10-01 09:19:42,947 p=28101 u=zuul n=ansible | ok: [localhost] => make_glance_kuttl_env: BMO_SETUP: false CEPH_TIMEOUT: 90 CHECKOUT_FROM_OPENSTACK_REF: 'true' GLANCE_BRANCH: '' GLANCE_IMG: 38.102.83.27:5001/openstack-k8s-operators/glance-operator-index:cb960769c9cc3013d7b401f1587a0fc0a591e36d GLANCE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/glance-operator KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig OPENSTACK_IMG: 38.102.83.27:5001/openstack-k8s-operators/openstack-operator-index:bd5d8355e5b007deb3e3833c300596ac2ed7a744 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 PV_NUM: 20 2025-10-01 09:19:42,961 p=28101 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_glance_kuttl_params var=make_glance_kuttl_params] *** 2025-10-01 09:19:42,961 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:42 +0000 (0:00:00.056) 0:02:19.232 ***** 2025-10-01 09:19:42,997 p=28101 u=zuul n=ansible | skipping: [localhost] 2025-10-01 09:19:43,009 p=28101 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-10-01 09:19:43,009 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:19:43 +0000 (0:00:00.048) 0:02:19.280 ***** 2025-10-01 09:19:43,076 p=28101 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_003_run_glance.log 2025-10-01 09:36:21,952 p=28101 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ make_glance_kuttl_until | default(true) }} 2025-10-01 09:36:22,037 p=28101 u=zuul n=ansible | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None 2025-10-01 09:36:22,317 p=28101 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 -n openshift-marketplace\n+ grep CrashLoopBackOff\n+ '[' 1 -eq 0 ']'\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 220d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ grep kubernetes-nmstate-operator\n+ oc get packagemanifests -n openshift-marketplace\nkubernetes-nmstate-operator Red Hat Operators 220d\n+ '[' 0 -eq 0 ']'\n+ break\n+ for operator in $OPERATORS\n+ n=0\n+ retries=20\n+ true\n+ grep metallb-operator\n+ oc get packagemanifests -n openshift-marketplace\nmetallb-operator Red Hat Operators 220d\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.\nNo resources found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-7d59c47655-9kwhv 0/1 Running \ 0 7s\noc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-7d59c47655-9kwhv 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-67c678544c-thtq2 \ 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-67c678544c-thtq2 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-h7cfp 1/2 Running 0 10s\noc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-h7cfp 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 c8fbf68986fa\nNote: switching to 'c8fbf68986fa'.\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 c8fbf68 Merge pull request #367 from openstack-k8s-operators/renovate/github.com-onsi-ginkgo-v2-2.x\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+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\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+ 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++ 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 51c0fe58c195\nNote: switching to '51c0fe58c195'.\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 51c0fe5 Merge pull request #465 from dprince/rabbit_2.16.0\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+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\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+ kustomization_add_resources\n+ echo merge config dir\nmerge config dir\n++ grep -v kustomization\n++ find . -type f -name '*.yaml'\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++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json\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=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+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\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+ 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++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\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++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\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 3cc98ad43636\nNote: switching to '3cc98ad43636'.\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 3cc98ad Merge pull request #629 from fmount/modernize\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+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\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+ 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\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++ oc get -n openstack-operators deployment keystone-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/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 c0eab4bfab67\nNote: switching to 'c0eab4bfab67'.\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 c0eab4b Merge pull request #386 from fmount/modernize\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+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\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+ 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++ 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\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++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment swift-operator-controller-manager -o json\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.27:5001/openstack-k8s-operators/glance-operator-index:cb960769c9cc3013d7b401f1587a0fc0a591e36d ']'\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+ IMAGE=unused,unused,unused\n+ IMAGE_PATH=containerImage,glanceAPIInternal/containerImage,glanceAPIExternal/containerImage\n+ STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\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+ 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\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++ jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment glance-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'\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\"\nkubectl-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/10/01 09:26:19 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 180 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: 09:26:19 | glance_dist_image_import | Ignoring README.md as it does not match file name regexp: ^(\\d+)-(?:[^\\.]+)(?:\\.yaml)?$\n logger.go:42: 09:26:19 | glance_dist_image_import | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 09:26:19 | glance_dist_image_import/0-deploy | starting test step 0-deploy\n logger.go:42: 09:26:19 | 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: 09:26:20 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance created\n logger.go:42: 09:26:20 | 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: 09:26:20 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance patched\n logger.go:42: 09:26:20 | 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: 09:26:20 | glance_dist_image_import/0-deploy | configmap/openstack-scripts-9db6gc427h created\n logger.go:42: 09:26:20 | glance_dist_image_import/0-deploy | pod/openstackclient created\n logger.go:42: 09:27:12 | glance_dist_image_import/0-deploy | test step completed 0-deploy\n logger.go:42: 09:27:12 | glance_dist_image_import/1-import-image | starting test step 1-import-image\n logger.go:42: 09:27:12 | 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: 09:27:22 | glance_dist_image_import/1-import-image | usage: openstack image delete [-h] [ ...]\n logger.go:42: 09:27:22 | glance_dist_image_import/1-import-image | openstack image delete: error: the following arguments are required: \n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | Property | Value \ |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | checksum | None |\n \ logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | container_format | bare |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | created_at | 2025-10-01T09:27:25Z |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | disk_format | qcow2 \ |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | id | 51862d39-97d2-49cf-a342-2180ec44f771 |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | locations | [] |\n \ logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | min_disk \ | 0 |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | min_ram | 0 |\n \ logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | name | myimage |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | os_hash_algo | None |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | os_hash_value | None |\n \ logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | os_hidden \ | False |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | owner | e10dcd97f23c45a88975f1cf2640176a |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | protected | False \ |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | size | None |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | status | queued \ |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | tags | [] |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | updated_at | 2025-10-01T09:27:25Z \ |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | virtual_size | Not available |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | visibility | shared \ |\n logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+\n logger.go:42: 09:27:27 | glance_dist_image_import/1-import-image | Image ID: 51862d39-97d2-49cf-a342-2180ec44f771\n \ logger.go:42: 09:27:29 | glance_dist_image_import/1-import-image | Image Status => queued\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | +-----------------------+--------------------------------------+\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | Property | Value \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | +-----------------------+--------------------------------------+\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | checksum | None \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | container_format | bare |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | created_at | 2025-10-01T09:27:25Z \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | disk_format | qcow2 |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | id | 51862d39-97d2-49cf-a342-2180ec44f771 |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | locations \ | [] |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | min_disk | 0 |\n \ logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | min_ram \ | 0 |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | name | myimage |\n \ logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_glance_import_task | faba2a65-1eeb-4789-9c95-dd63de88ecf7 |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_hash_algo | None |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_hash_value | None \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_hidden | False |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | owner | e10dcd97f23c45a88975f1cf2640176a \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | protected | False |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | size | 22 \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | status | uploading |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | tags | [] \ |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | updated_at | 2025-10-01T09:27:36Z |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | virtual_size | Not available |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | visibility | shared |\n logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | +-----------------------+--------------------------------------+\n \ logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+\n \ logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | | ID | Name |\n logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+\n logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | | 51862d39-97d2-49cf-a342-2180ec44f771 | myimage |\n logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+\n logger.go:42: 09:27:41 | glance_dist_image_import/1-import-image | Image Status: active\n logger.go:42: 09:27:45 | glance_dist_image_import/1-import-image | test step completed 1-import-image\n \ logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | starting test step 2-cleanup\n logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | running command: [sh -c oc -n $NAMESPACE kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -\n ]\n logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | running command: [sh -c oc -n $NAMESPACE kustomize --load-restrictor LoadRestrictionsNone ../../../../config/samples/openstackclient | oc -n $NAMESPACE delete -f -\n ]\n \ logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | configmap \"openstack-scripts-9db6gc427h\" deleted\n logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | pod \"openstackclient\" deleted\n logger.go:42: 09:27:50 | glance_dist_image_import/2-cleanup | test step completed 2-cleanup\n logger.go:42: 09:27:50 | glance_dist_image_import | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_single_tls\n \ logger.go:42: 09:27:50 | glance_single_tls | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/combined-ca-bundle created\n logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-internal-svc created\n logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-public-svc created\n logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle\n logger.go:42: 09:27:50 | glance_single_tls/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 09:27:50 | 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: 09:27:50 | glance_single_tls/1-deploy_glance | glance.glance.openstack.org/glance created\n logger.go:42: 09:27:50 | 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: 09:27:51 | glance_single_tls/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: 09:27:52 | 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: 09:27:52 | glance_single_tls/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: 09:27:53 | 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: 09:27:53 | glance_single_tls/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: 09:27:54 | 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: 09:27:54 | glance_single_tls/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: 09:27:55 | 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: 09:27:55 | glance_single_tls/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: 09:27:56 | 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: 09:27:56 | glance_single_tls/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: 09:27:57 | 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: 09:27:58 | glance_single_tls/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: 09:27:59 | 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: 09:27:59 | glance_single_tls/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: 09:28:00 | 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: 09:28:00 | glance_single_tls/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: 09:28:01 | 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: 09:28:01 | glance_single_tls/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: 09:28:02 | 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: 09:28:02 | glance_single_tls/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: 09:28:03 | 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: 09:28:03 | glance_single_tls/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: 09:28:04 | 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: 09:28:05 | glance_single_tls/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: 09:28:06 | 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: 09:28:06 | glance_single_tls/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: 09:28:07 | 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: 09:28:07 | glance_single_tls/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: 09:28:08 | 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: 09:28:08 | glance_single_tls/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: 09:28:09 | 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: 09:28:09 | glance_single_tls/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: 09:28:10 | 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: 09:28:10 | glance_single_tls/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: 09:28:11 | 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: 09:28:12 | glance_single_tls/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: 09:28:13 | 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: 09:28:13 | glance_single_tls/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: 09:28:14 | 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: 09:28:15 | 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: 09:28:16 | 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: 09:28: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: 09:28:19 | 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: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:25 | 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: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:31 | 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: 09:28: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: 09:28: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: 09:28: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: 09:28:34 | glance_single_tls/1-deploy_glance | test step completed 1-deploy_glance\n logger.go:42: 09:28:34 | glance_single_tls/5-cleanup-glance | starting test step 5-cleanup-glance\n logger.go:42: 09:28:34 | 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: 09:28:35 | glance_single_tls/5-cleanup-glance | glance.glance.openstack.org \"glance\" deleted\n logger.go:42: 09:28:40 | glance_single_tls/5-cleanup-glance | test step completed 5-cleanup-glance\n logger.go:42: 09:28:40 | glance_single_tls | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_split_proxypass\n \ logger.go:42: 09:28:40 | glance_split_proxypass | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 09:28:40 | glance_split_proxypass/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 09:28:40 | 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: 09:28:40 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance created\n logger.go:42: 09:28:40 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance patched\n logger.go:42: 09:28:40 | 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: 09:28:40 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:40 | 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: 09:28:40 | 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: 09:28:41 | 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: 09:28:41 | 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: 09:28:41 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:41 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:41 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:41 | 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: 09:28:41 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:41 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:41 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:42 | 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:42 | 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: 09:28:42 | 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: 09:28:42 | 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: 09:28:42 | 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:42 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:42 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:42 | 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:42 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:43 | 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:43 | 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: 09:28:43 | 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: 09:28:43 | 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: 09:28:43 | 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:43 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:43 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:43 | 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:43 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:44 | 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:44 | 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: 09:28:44 | 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: 09:28:44 | 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: 09:28:44 | 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:44 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:44 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:44 | 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:44 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:45 | 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:45 | 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: 09:28:45 | 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: 09:28:45 | 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: 09:28:45 | 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:45 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:45 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:45 | 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:45 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:46 | 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: 09:28:46 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:46 | 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: 09:28:46 | 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: 09:28:47 | 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: 09:28:47 | 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: 09:28:47 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:47 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:47 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:47 | 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: 09:28:47 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:47 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:47 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:48 | 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:48 | 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: 09:28:48 | 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: 09:28:48 | 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: 09:28:48 | 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:48 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:48 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:48 | 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:48 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:49 | 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:49 | 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: 09:28:49 | 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: 09:28:49 | 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: 09:28:49 | 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:49 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:49 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:49 | 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:49 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:50 | 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:50 | 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: 09:28:50 | 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: 09:28:50 | 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: 09:28:50 | 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:50 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:50 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:50 | 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:50 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:51 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:51 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:51 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28: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: 09:28:51 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28: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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:51 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:52 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:52 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:52 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28: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: 09:28:52 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28: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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:52 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:53 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28:54 | 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: 09:28:54 | 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: 09:28:54 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:54 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:54 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:54 | 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: 09:28:54 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:54 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:54 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28:55 | 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: 09:28:55 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28:55 | 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: 09:28:55 | 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: 09:28: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: 09:28: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: 09:28:55 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"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: 09:28:55 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28: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: 09:28:55 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28: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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z 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: 09:28:55 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:56 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:56 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40349\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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: 09:28:56 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28: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: 09:28:56 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40349 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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: 09:28:56 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:57 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:57 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40349\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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: 09:28:57 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28: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: 09:28:57 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40349 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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: 09:28:57 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:58 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:58 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}\n \ logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28: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: 09:28:58 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]'\n logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:28: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: 09:28:59 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:28: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: 09:28: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: 09:28:59 | 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: 09:28:59 | 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: 09:28:59 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:28:59 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}\n \ logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:28:59 | 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: 09:28:59 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:28:59 | 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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]'\n logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:29: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: 09:29:01 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:01 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:29: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}\n \ logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:29: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: 09:29:01 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:29: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]'\n logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:29: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: 09:29:02 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:02 | glance_split_proxypass/1-deploy_glance | \ttemplate was:\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | \traw data was:\n logger.go:42: 09:29: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}\n \ logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:\n logger.go:42: 09:29: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: 09:29:02 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | [glance_store]\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | [default_backend]\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL\n \ logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}\n logger.go:42: 09:29: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]'\n logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands\n logger.go:42: 09:29: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: 09:29:03 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29:03 | 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: 09:29:03 | 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: 09:29:03 | 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: 09:29:03 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:03 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:03 | 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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:04 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:05 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:05 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:06 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:06 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:06 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:07 | 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: 09:29:07 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:07 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:07 | 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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:08 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:09 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:09 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:10 | 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: 09:29:10 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:10 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:10 | 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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:11 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:11 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:11 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:11 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:11 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:11 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:13 | 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: 09:29:13 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:13 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:13 | 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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:14 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:14 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:14 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:15 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29:16 | 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: 09:29:16 | 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: 09:29:16 | 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: 09:29:16 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:16 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:16 | 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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:17 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:17 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:17 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29: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: 09:29:18 | glance_split_proxypass/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:29: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: 09:29: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: 09:29:18 | 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: 09:29:18 | 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: 09:29:18 | 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: 09:29:18 | glance_split_proxypass/1-deploy_glance | + matches=\n \ logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:29:18 | glance_split_proxypass/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:18 | 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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + exit 0\n logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | test step completed 1-deploy_glance\n \ logger.go:42: 09:29:18 | glance_split_proxypass/2-scale-glanceapis | starting test step 2-scale-glanceapis\n logger.go:42: 09:29:18 | 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: 09:29:19 | glance_split_proxypass/2-scale-glanceapis | glance.glance.openstack.org/glance patched\n logger.go:42: 09:32:19 | glance_split_proxypass/2-scale-glanceapis | test step failed 2-scale-glanceapis\n case.go:396: failed in step 2-scale-glanceapis\n \ case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-external-api\n \ +++ StatefulSet:glance-kuttl-tests/glance-default-external-api\n @@ -1,11 +1,49 @@\n apiVersion: apps/v1\n kind: StatefulSet\n metadata:\n \ + labels:\n + component: glance-api\n + glanceAPI: glance-default-external\n + owner: glance-default-external\n + \ service: glance\n + managedFields: '[... elided field over 10 lines long ...]'\n name: glance-default-external-api\n namespace: glance-kuttl-tests\n + ownerReferences:\n + - apiVersion: glance.openstack.org/v1beta1\n \ + blockOwnerDeletion: true\n + controller: true\n + \ kind: GlanceAPI\n + name: glance-default-external\n + uid: 4ccf9694-c9c0-422a-99d0-99fcb7845f7c\n spec:\n + persistentVolumeClaimRetentionPolicy:\n \ + whenDeleted: Retain\n + whenScaled: Retain\n + podManagementPolicy: Parallel\n replicas: 3\n + revisionHistoryLimit: 10\n + \ selector:\n + matchLabels:\n + component: glance-api\n + \ glanceAPI: glance-default-external\n + owner: glance-default-external\n \ + service: glance\n + serviceName: glance-default-external-api\n \ + template: '[... elided field over 10 lines long ...]'\n + updateStrategy:\n \ + rollingUpdate:\n + partition: 0\n + type: RollingUpdate\n \ + volumeClaimTemplates: '[... elided field over 10 lines long ...]'\n status:\n \ - availableReplicas: 3\n + availableReplicas: 1\n + collisionCount: 0\n + currentReplicas: 3\n + currentRevision: glance-default-external-api-f7fd65695\n \ + observedGeneration: 3\n + readyReplicas: 1\n replicas: 3\n + updateRevision: glance-default-external-api-f7fd65695\n + updatedReplicas: 3\n \n \n case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-external-api: .status.availableReplicas: value mismatch, expected: 3 != actual: 1\n case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-internal-api\n +++ StatefulSet:glance-kuttl-tests/glance-default-internal-api\n \ @@ -1,11 +1,49 @@\n apiVersion: apps/v1\n kind: StatefulSet\n \ metadata:\n + labels:\n + component: glance-api\n + \ glanceAPI: glance-default-internal\n + owner: glance-default-internal\n \ + service: glance\n + managedFields: '[... elided field over 10 lines long ...]'\n name: glance-default-internal-api\n namespace: glance-kuttl-tests\n + ownerReferences:\n + - apiVersion: glance.openstack.org/v1beta1\n \ + blockOwnerDeletion: true\n + controller: true\n + \ kind: GlanceAPI\n + name: glance-default-internal\n + uid: d117af91-46d6-4896-a166-9aaa4e9e0b70\n spec:\n + persistentVolumeClaimRetentionPolicy:\n \ + whenDeleted: Retain\n + whenScaled: Retain\n + podManagementPolicy: Parallel\n replicas: 3\n + revisionHistoryLimit: 10\n + \ selector:\n + matchLabels:\n + component: glance-api\n + \ glanceAPI: glance-default-internal\n + owner: glance-default-internal\n \ + service: glance\n + serviceName: glance-default-internal-api\n \ + template: '[... elided field over 10 lines long ...]'\n + updateStrategy:\n \ + rollingUpdate:\n + partition: 0\n + type: RollingUpdate\n \ + volumeClaimTemplates: '[... elided field over 10 lines long ...]'\n status:\n \ - availableReplicas: 3\n + availableReplicas: 1\n + collisionCount: 0\n + currentReplicas: 3\n + currentRevision: glance-default-internal-api-7469d598db\n \ + observedGeneration: 3\n + readyReplicas: 1\n replicas: 3\n + updateRevision: glance-default-internal-api-7469d598db\n + \ updatedReplicas: 3\n \n \n case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-internal-api: .status.availableReplicas: value mismatch, expected: 3 != actual: 1\n logger.go:42: 09:32:19 | glance_split_proxypass | skipping kubernetes event logging\n=== CONT \ kuttl/harness/glance_split\n logger.go:42: 09:32:19 | glance_split | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 09:32:19 | glance_split/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 09:32:19 | 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: 09:32:21 | glance_split/1-deploy_glance | glance.glance.openstack.org/glance configured\n logger.go:42: 09:32:21 | 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: 09:32:21 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:21 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:21 | 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: 09:32:21 | 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: 09:32:21 | 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: 09:32:21 | 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: 09:32:21 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:21 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:21 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:21 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:21 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:21 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:22 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:23 | 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: 09:32:23 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:23 | 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: 09:32:23 | 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: 09:32:23 | 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: 09:32:23 | 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: 09:32:23 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:23 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:23 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:24 | 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: 09:32:24 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:24 | 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: 09:32:24 | 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: 09:32:24 | 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: 09:32:24 | 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: 09:32:24 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:24 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:24 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:26 | 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: 09:32:26 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:26 | 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: 09:32:26 | 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: 09:32:26 | 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: 09:32:26 | 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: 09:32:26 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:26 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:26 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:27 | 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: 09:32:27 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:27 | 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: 09:32:27 | 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: 09:32:27 | 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: 09:32:27 | 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: 09:32:27 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:27 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:27 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:28 | 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: 09:32:28 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:28 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:28 | 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: 09:32:29 | 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: 09:32:29 | 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: 09:32:29 | 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: 09:32:29 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:29 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:29 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:30 | 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: 09:32:30 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:30 | 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: 09:32:30 | 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: 09:32:30 | 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: 09:32:30 | 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: 09:32:30 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:30 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:30 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:31 | 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: 09:32:31 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:31 | 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: 09:32:31 | 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: 09:32:31 | 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: 09:32:31 | 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: 09:32:31 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:31 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:31 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:32 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:33 | 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: 09:32:33 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:33 | 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: 09:32:33 | 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: 09:32:33 | 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: 09:32:33 | 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: 09:32:33 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:33 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:33 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:34 | 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: 09:32:34 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:34 | 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: 09:32:34 | 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: 09:32:34 | 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: 09:32:34 | 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: 09:32:34 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:34 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:34 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:35 | 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: 09:32:35 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:35 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:35 | 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: 09:32:35 | 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: 09:32:35 | 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: 09:32:35 | 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: 09:32:35 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:35 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:35 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:35 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:35 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:35 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:36 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:37 | 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: 09:32:37 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:37 | 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: 09:32:37 | 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: 09:32:37 | 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: 09:32:37 | 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: 09:32:37 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:37 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:37 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:38 | 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: 09:32:38 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:38 | 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: 09:32:38 | 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: 09:32:38 | 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: 09:32:38 | 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: 09:32:38 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:38 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:38 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:40 | 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: 09:32:40 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:40 | 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: 09:32:40 | 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: 09:32:40 | 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: 09:32:40 | 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: 09:32:40 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:40 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:40 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:41 | 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: 09:32:41 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:41 | 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: 09:32:41 | 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: 09:32:41 | 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: 09:32:41 | 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: 09:32:41 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:41 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:41 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:42 | 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: 09:32:42 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:42 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:42 | 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: 09:32:43 | 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: 09:32:43 | 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: 09:32:43 | 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: 09:32:43 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:43 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:43 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:44 | 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: 09:32:44 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:44 | 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: 09:32:44 | 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: 09:32:44 | 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: 09:32:44 | 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: 09:32:44 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:44 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:44 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:45 | 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: 09:32:45 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:45 | 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: 09:32:45 | 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: 09:32:45 | 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: 09:32:45 | 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: 09:32:45 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:45 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:45 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:46 | 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: 09:32:46 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:46 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:46 | 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: 09:32:47 | 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: 09:32:47 | 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: 09:32:47 | 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: 09:32:47 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:47 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:47 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:48 | 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: 09:32:48 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:48 | 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: 09:32:48 | 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: 09:32:48 | 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: 09:32:48 | 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: 09:32:48 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:48 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:48 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:49 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:49 | 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: 09:32:49 | 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: 09:32:49 | 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: 09:32:49 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:49 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:49 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:49 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:49 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:49 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:50 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:51 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:51 | 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: 09:32:51 | 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: 09:32:51 | 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: 09:32:51 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:51 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:51 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:52 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:52 | 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: 09:32:52 | 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: 09:32:52 | 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: 09:32:52 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:52 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:52 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:54 | 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: 09:32:54 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:32:54 | 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: 09:32:54 | 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: 09:32:54 | 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: 09:32:54 | 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: 09:32:54 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:54 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:54 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:55 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:55 | 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: 09:32:55 | 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: 09:32:55 | 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: 09:32:55 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:55 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:55 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:56 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:56 | 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: 09:32:56 | 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: 09:32:56 | 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: 09:32:56 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:56 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:56 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:56 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:56 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:57 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:58 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:58 | 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: 09:32:58 | 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: 09:32:58 | 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: 09:32:58 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:58 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:58 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32: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: 09:32:59 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:32: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: 09:32: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: 09:32:59 | 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: 09:32:59 | 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: 09:32:59 | 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: 09:32:59 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:32:59 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:59 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:01 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:01 | 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: 09:33:01 | 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: 09:33:01 | 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: 09:33:01 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:01 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:01 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:02 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:02 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:02 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:02 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:03 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:04 | 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: 09:33:04 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:04 | 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: 09:33: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: 09:33: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: 09:33: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: 09:33:04 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:04 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:04 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:05 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:05 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:05 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:05 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:07 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:07 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:07 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:07 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:08 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:08 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:08 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:08 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:09 | 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: 09:33:09 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:09 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:09 | 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: 09:33: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: 09:33: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: 09:33: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: 09:33:10 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:10 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:10 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:11 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:11 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:11 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:11 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:12 | 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: 09:33:12 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:12 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:12 | 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: 09:33:12 | 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: 09:33:12 | 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: 09:33:12 | 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: 09:33:12 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:12 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:12 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:12 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:12 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:12 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:13 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:14 | 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: 09:33:14 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:14 | 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: 09:33:14 | 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: 09:33:14 | 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: 09:33:14 | 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: 09:33:14 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:14 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:14 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:15 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:15 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:15 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:15 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:16 | 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: 09:33:16 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:16 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:16 | 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: 09:33:16 | 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: 09:33:16 | 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: 09:33:16 | 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: 09:33:16 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:16 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:16 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:16 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:16 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:16 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:17 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:18 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:18 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:18 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:18 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:19 | 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: 09:33:19 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:19 | 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: 09:33:19 | 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: 09:33:19 | 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: 09:33:19 | 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: 09:33:19 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:19 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:19 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:20 | 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: 09:33:20 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:20 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:20 | 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: 09:33:21 | 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: 09:33:21 | 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: 09:33:21 | 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: 09:33:21 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:21 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:21 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:22 | 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: 09:33:22 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:22 | 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: 09:33:22 | 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: 09:33:22 | 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: 09:33:22 | 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: 09:33:22 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:22 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:22 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:23 | 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: 09:33:23 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:23 | 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: 09:33:23 | 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: 09:33:23 | 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: 09:33:23 | 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: 09:33:23 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:23 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:23 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:24 | 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: 09:33:24 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:24 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:24 | 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: 09:33:25 | 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: 09:33:25 | 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: 09:33:25 | 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: 09:33:25 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:25 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:25 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:26 | 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: 09:33:26 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:26 | 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: 09:33:26 | 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: 09:33:26 | 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: 09:33:26 | 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: 09:33:26 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:26 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:26 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:27 | 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: 09:33:27 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:27 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:27 | 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: 09:33:27 | 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: 09:33:27 | 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: 09:33:27 | 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: 09:33:27 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:27 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:27 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:27 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:27 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:27 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:28 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:29 | 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: 09:33:29 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:29 | 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: 09:33:29 | 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: 09:33:29 | 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: 09:33:29 | 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: 09:33:29 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:29 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:29 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:30 | 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: 09:33:30 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:30 | 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: 09:33:30 | 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: 09:33:30 | 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: 09:33:30 | 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: 09:33:30 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:30 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:30 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:31 | 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: 09:33:31 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:31 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:31 | 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: 09:33:31 | 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: 09:33:31 | 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: 09:33:31 | 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: 09:33:31 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:31 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:31 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:31 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:31 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:31 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:32 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:33 | 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: 09:33:33 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:33 | 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: 09:33:33 | 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: 09:33:33 | 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: 09:33:33 | 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: 09:33:33 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:33 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:33 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:34 | 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: 09:33:34 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:34 | 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: 09:33:34 | 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: 09:33:34 | 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: 09:33:34 | 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: 09:33:34 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:34 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:34 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:35 | 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: 09:33:35 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:35 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:35 | 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: 09:33:36 | 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: 09:33:36 | 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: 09:33:36 | 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: 09:33:36 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:36 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:36 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:37 | 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: 09:33:37 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:37 | 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: 09:33:37 | 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: 09:33:37 | 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: 09:33:37 | 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: 09:33:37 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:37 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:37 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:38 | 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: 09:33:38 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:38 | 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: 09:33:38 | 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: 09:33:38 | 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: 09:33:38 | 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: 09:33:38 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:38 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:38 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:39 | 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: 09:33:39 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:39 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:39 | 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: 09:33:40 | 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: 09:33:40 | 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: 09:33:40 | 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: 09:33:40 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:40 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:40 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:41 | 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: 09:33:41 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:41 | 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: 09:33:41 | 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: 09:33:41 | 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: 09:33:41 | 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: 09:33:41 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:41 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:41 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:42 | 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: 09:33:42 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:42 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:42 | 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: 09:33:42 | 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: 09:33:42 | 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: 09:33:42 | 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: 09:33:42 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:42 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:42 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:42 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:42 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:42 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:43 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:44 | 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: 09:33:44 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:44 | 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: 09:33:44 | 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: 09:33:44 | 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: 09:33:44 | 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: 09:33:44 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:44 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:44 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:45 | 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: 09:33:45 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:45 | 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: 09:33:45 | 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: 09:33:45 | 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: 09:33:45 | 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: 09:33:45 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:45 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:45 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:46 | 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: 09:33:46 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:46 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:46 | 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: 09:33:47 | 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: 09:33:47 | 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: 09:33:47 | 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: 09:33:47 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:47 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:47 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:48 | 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: 09:33:48 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:48 | 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: 09:33:48 | 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: 09:33:48 | 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: 09:33:48 | 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: 09:33:48 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:48 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:48 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:49 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:50 | 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: 09:33:50 | 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: 09:33:50 | 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: 09:33:50 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:50 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:50 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:51 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:51 | 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: 09:33:51 | 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: 09:33:51 | 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: 09:33:51 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:51 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:51 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:52 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:52 | 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: 09:33:52 | 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: 09:33:52 | 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: 09:33:52 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:52 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:52 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:54 | 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: 09:33:54 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:33:54 | 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: 09:33:54 | 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: 09:33:54 | 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: 09:33:54 | 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: 09:33:54 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:54 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:54 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:55 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:55 | 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: 09:33:55 | 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: 09:33:55 | 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: 09:33:55 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:55 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:55 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:56 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:56 | 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: 09:33:56 | 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: 09:33:56 | 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: 09:33:56 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:56 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:56 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:56 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:56 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:57 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:58 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:58 | 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: 09:33:58 | 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: 09:33:58 | 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: 09:33:58 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:58 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:58 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33: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: 09:33:59 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:33: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: 09:33: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: 09:33:59 | 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: 09:33:59 | 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: 09:33:59 | 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: 09:33:59 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:33:59 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:59 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:01 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:01 | 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: 09:34:01 | 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: 09:34:01 | 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: 09:34:01 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:01 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:01 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:02 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:02 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:02 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:02 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:03 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:03 | 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: 09:34:03 | 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: 09:34:03 | 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: 09:34:03 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:03 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:03 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:03 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:03 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:03 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:04 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:05 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:05 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:05 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:05 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:06 | 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: 09:34:06 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:06 | 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: 09:34:06 | 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: 09:34:06 | 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: 09:34:06 | 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: 09:34:06 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:06 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:06 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:07 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:07 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:07 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:07 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:07 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:08 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:09 | 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: 09:34:09 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:09 | 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: 09:34:09 | 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: 09:34:09 | 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: 09:34:09 | 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: 09:34:09 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:09 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:09 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:10 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:10 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:10 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:10 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:12 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:12 | 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: 09:34:12 | 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: 09:34:12 | 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: 09:34:12 | 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: 09:34:12 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:12 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:12 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:13 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:13 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:13 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:13 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:14 | 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: 09:34:14 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:14 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:14 | 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: 09:34:14 | 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: 09:34:14 | 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: 09:34:14 | 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: 09:34:14 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:14 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:14 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:14 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:14 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:14 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:15 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:16 | 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: 09:34:16 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:16 | 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: 09:34:16 | 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: 09:34:16 | 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: 09:34:16 | 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: 09:34:16 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:16 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:16 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:17 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:17 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:17 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:17 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:18 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:19 | 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: 09:34:19 | 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: 09:34:19 | 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: 09:34:19 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:19 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:19 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:20 | 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: 09:34:20 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:20 | 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: 09:34:20 | 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: 09:34:20 | 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: 09:34:20 | 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: 09:34:20 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:20 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:20 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:21 | 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: 09:34:21 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:21 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:21 | 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: 09:34:22 | 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: 09:34:22 | 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: 09:34:22 | 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: 09:34:22 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:22 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:22 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:23 | 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: 09:34:23 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:23 | 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: 09:34:23 | 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: 09:34:23 | 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: 09:34:23 | 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: 09:34:23 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:23 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:23 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:24 | 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: 09:34:24 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:24 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:24 | 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: 09:34:25 | 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: 09:34:25 | 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: 09:34:25 | 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: 09:34:25 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:25 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:25 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:26 | 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: 09:34:26 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:26 | 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: 09:34:26 | 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: 09:34:26 | 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: 09:34:26 | 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: 09:34:26 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:26 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:26 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:27 | 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: 09:34:27 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:27 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:27 | 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: 09:34:28 | 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: 09:34:28 | 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: 09:34:28 | 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: 09:34:28 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:28 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:28 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:29 | 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: 09:34:29 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:29 | 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: 09:34:29 | 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: 09:34:29 | 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: 09:34:29 | 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: 09:34:29 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:29 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:29 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:30 | 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: 09:34:30 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:30 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:30 | 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: 09:34:30 | 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: 09:34:30 | 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: 09:34:30 | 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: 09:34:30 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:30 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:30 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:30 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:30 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:30 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:31 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:32 | 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: 09:34:32 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:32 | 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: 09:34:32 | 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: 09:34:32 | 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: 09:34:32 | 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: 09:34:32 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:32 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:32 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:33 | 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: 09:34:33 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:33 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:33 | 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: 09:34:33 | 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: 09:34:33 | 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: 09:34:33 | 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: 09:34:33 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:33 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:33 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:33 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:33 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:33 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:34 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:35 | 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: 09:34:35 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:35 | 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: 09:34:35 | 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: 09:34:35 | 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: 09:34:35 | 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: 09:34:35 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:35 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:35 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:36 | 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: 09:34:36 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:36 | 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: 09:34:36 | 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: 09:34:36 | 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: 09:34:36 | 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: 09:34:36 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:36 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:36 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:38 | 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: 09:34:38 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:38 | 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: 09:34:38 | 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: 09:34:38 | 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: 09:34:38 | 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: 09:34:38 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:38 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:38 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:39 | 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: 09:34:39 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:39 | 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: 09:34:39 | 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: 09:34:39 | 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: 09:34:39 | 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: 09:34:39 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:39 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:39 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:40 | 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: 09:34:40 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:40 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:40 | 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: 09:34:41 | 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: 09:34:41 | 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: 09:34:41 | 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: 09:34:41 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:41 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:41 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:42 | 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: 09:34:42 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:42 | 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: 09:34:42 | 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: 09:34:42 | 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: 09:34:42 | 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: 09:34:42 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:42 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:42 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:43 | 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: 09:34:43 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:43 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:43 | 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: 09:34:44 | 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: 09:34:44 | 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: 09:34:44 | 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: 09:34:44 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:44 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:44 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:45 | 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: 09:34:45 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:45 | 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: 09:34:45 | 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: 09:34:45 | 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: 09:34:45 | 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: 09:34:45 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:45 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:45 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:46 | 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: 09:34:46 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:46 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:46 | 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: 09:34:46 | 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: 09:34:46 | 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: 09:34:46 | 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: 09:34:46 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:46 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:46 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:46 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:46 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:46 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:47 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:48 | 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: 09:34:48 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:34:48 | 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: 09:34:48 | 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: 09:34:48 | 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: 09:34:48 | 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: 09:34:48 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:48 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:48 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:49 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:49 | 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: 09:34:49 | 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: 09:34:49 | 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: 09:34:49 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:49 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:49 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:51 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:51 | 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: 09:34:51 | 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: 09:34:51 | 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: 09:34:51 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:51 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:51 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:52 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:52 | 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: 09:34:52 | 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: 09:34:52 | 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: 09:34:52 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:52 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:52 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:53 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:53 | 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: 09:34:53 | 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: 09:34:53 | 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: 09:34:53 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:53 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:53 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:53 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:53 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:53 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:54 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:55 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:55 | 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: 09:34:55 | 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: 09:34:55 | 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: 09:34:55 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:55 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:55 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:56 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:56 | 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: 09:34:56 | 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: 09:34:56 | 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: 09:34:56 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:56 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:56 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:57 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:58 | 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: 09:34:58 | 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: 09:34:58 | 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: 09:34:58 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:58 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:58 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34: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: 09:34:59 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:34: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: 09:34: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: 09:34:59 | 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: 09:34:59 | 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: 09:34:59 | 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: 09:34:59 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:34:59 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:59 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:00 | 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: 09:35:00 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:00 | 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: 09:35:00 | 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: 09:35:00 | 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: 09:35:00 | 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: 09:35:00 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:00 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:00 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:01 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:02 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:02 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:02 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:03 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35:03 | 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: 09:35:03 | 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: 09:35:03 | 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: 09:35:03 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:03 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:03 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:04 | 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: 09:35:04 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:04 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:04 | 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: 09:35: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: 09:35: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: 09:35: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: 09:35:05 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:05 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:05 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:06 | 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: 09:35:06 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:06 | 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: 09:35:06 | 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: 09:35:06 | 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: 09:35:06 | 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: 09:35:06 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:06 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:06 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:07 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:08 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:08 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:08 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:09 | 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: 09:35:09 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:09 | 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: 09:35:09 | 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: 09:35:09 | 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: 09:35:09 | 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: 09:35:09 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:09 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:09 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:10 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:10 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:10 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:10 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:10 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:11 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:12 | 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: 09:35:12 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:12 | 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: 09:35:12 | 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: 09:35:12 | 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: 09:35:12 | 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: 09:35:12 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:12 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:12 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:13 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:13 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:13 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:13 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:15 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:15 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:15 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:15 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:16 | 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: 09:35:16 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:16 | 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: 09:35:16 | 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: 09:35:16 | 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: 09:35:16 | 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: 09:35:16 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:16 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:16 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35: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: 09:35:17 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:18 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:18 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35: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 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:18 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:19 | 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: 09:35:19 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:19 | 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: 09:35:19 | 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: 09:35:19 | 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: 09:35:19 | 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: 09:35:19 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:19 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:19 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:20 | 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: 09:35:20 | glance_split/1-deploy_glance | + template='{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}'\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + regex='http:\\/\\/glance-default-internal.glance-kuttl-tests.*:http:\\/\\/glance-default-public.glance-kuttl-tests.*'\n \ logger.go:42: 09:35:20 | 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: 09:35:20 | 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: 09:35:20 | 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: 09:35:20 | 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: 09:35:20 | glance_split/1-deploy_glance | + matches=\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + '[' -z '' ']'\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail\n tupleTemplate='{{ range (index .spec.template.spec.containers 1).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: 09:35:20 | glance_split/1-deploy_glance | + tupleTemplate='{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o 'go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:20 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n \ logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + grep RELATED_IMAGE\n logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + exit 0\n logger.go:42: 09:35:21 | glance_split/1-deploy_glance | test step failed 1-deploy_glance\n case.go:396: failed in step 1-deploy_glance\n case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-external-api\n +++ StatefulSet:glance-kuttl-tests/glance-default-external-api\n \ @@ -1,18 +1,47 @@\n apiVersion: apps/v1\n kind: StatefulSet\n \ metadata:\n + labels:\n + component: glance-api\n + \ glanceAPI: glance-default-external\n + owner: glance-default-external\n \ + service: glance\n + managedFields: '[... elided field over 10 lines long ...]'\n name: glance-default-external-api\n namespace: glance-kuttl-tests\n + ownerReferences:\n + - apiVersion: glance.openstack.org/v1beta1\n \ + blockOwnerDeletion: true\n + controller: true\n + \ kind: GlanceAPI\n + name: glance-default-external\n + uid: 4ccf9694-c9c0-422a-99d0-99fcb7845f7c\n spec:\n + persistentVolumeClaimRetentionPolicy:\n \ + whenDeleted: Retain\n + whenScaled: Retain\n + podManagementPolicy: Parallel\n replicas: 1\n + revisionHistoryLimit: 10\n selector:\n \ matchLabels:\n + component: glance-api\n + glanceAPI: glance-default-external\n + owner: glance-default-external\n service: glance\n + serviceName: glance-default-external-api\n template:\n \ metadata:\n + annotations:\n + k8s.v1.cni.cncf.io/networks: '[]'\n + creationTimestamp: null\n labels:\n + \ component: glance-api\n + glanceAPI: glance-default-external\n \ + owner: glance-default-external\n service: glance\n \ spec:\n + affinity: '[... elided field over 10 lines long ...]'\n containers:\n - args:\n - --single-child\n \ @@ -22,7 +51,62 @@\n - /usr/bin/tail -n+1 -F /var/log/glance/glance-default-external.log 2>/dev/null\n command:\n - /usr/bin/dumb-init\n \ + env:\n + - name: CONFIG_HASH\n + value: n64dh5c5h558h667h5bbh88h558h5f6h5dbh67ch646h668hcdh589h58h74h575hch78h66fhd7h554h5ch5b4h698h78h7bh5dch67bh55ch58h695q\n \ + - name: GLANCE_DOMAIN\n + value: glance-default-external-api.glance-kuttl-tests.svc\n \ + - name: KOLLA_CONFIG_STRATEGY\n + value: COPY_ALWAYS\n \ + - name: URISCHEME\n + value: HTTP\n + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n + \ imagePullPolicy: IfNotPresent\n + livenessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ name: glance-log\n + readinessProbe:\n + failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + \ port: 9292\n + scheme: HTTP\n + initialDelaySeconds: 5\n + periodSeconds: 30\n + successThreshold: 1\n \ + timeoutSeconds: 30\n + resources: {}\n + \ securityContext:\n + allowPrivilegeEscalation: false\n + \ capabilities:\n + drop:\n + - ALL\n \ + runAsGroup: 42415\n + runAsNonRoot: true\n + \ runAsUser: 42415\n + seccompProfile:\n + type: RuntimeDefault\n + startupProbe:\n + exec:\n + \ command:\n + - /bin/true\n + failureThreshold: 6\n + periodSeconds: 10\n + successThreshold: 1\n \ + timeoutSeconds: 1\n + terminationMessagePath: /dev/termination-log\n \ + terminationMessagePolicy: File\n + volumeMounts:\n \ + - mountPath: /var/log/glance\n + name: logs\n - args:\n - --single-child\n - --\n @@ -31,10 +115,217 @@\n - /usr/local/bin/kolla_start\n command:\n \ - /usr/bin/dumb-init\n + env:\n + - name: CONFIG_HASH\n + value: n64dh5c5h558h667h5bbh88h558h5f6h5dbh67ch646h668hcdh589h58h74h575hch78h66fhd7h554h5ch5b4h698h78h7bh5dch67bh55ch58h695q\n \ + - name: GLANCE_DOMAIN\n + value: glance-default-external-api.glance-kuttl-tests.svc\n \ + - name: KOLLA_CONFIG_STRATEGY\n + value: COPY_ALWAYS\n \ + - name: URISCHEME\n + value: HTTP\n + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n + \ imagePullPolicy: IfNotPresent\n + livenessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ name: glance-httpd\n + readinessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ + resources: {}\n + securityContext:\n + allowPrivilegeEscalation: true\n + capabilities:\n + drop:\n + - MKNOD\n + privileged: true\n + runAsGroup: 42415\n \ + runAsUser: 42415\n + seccompProfile:\n + \ type: RuntimeDefault\n + startupProbe:\n + exec:\n \ + command:\n + - /bin/true\n + failureThreshold: 6\n + periodSeconds: 10\n + successThreshold: 1\n \ + timeoutSeconds: 1\n + terminationMessagePath: /dev/termination-log\n \ + terminationMessagePolicy: File\n + volumeMounts:\n \ + - mountPath: /var/lib/config-data/default\n + name: config-data\n + readOnly: true\n + - mountPath: /etc/my.cnf\n \ + name: config-data\n + readOnly: true\n + \ subPath: my.cnf\n + - mountPath: /var/lib/kolla/config_files/config.json\n \ + name: config-data\n + readOnly: true\n + \ subPath: glance-httpd-config.json\n + - mountPath: /var/lib/glance\n \ + name: glance\n + - mountPath: /etc/iscsi\n + \ name: etc-iscsi\n + readOnly: true\n + - mountPath: /dev\n + name: dev\n + - mountPath: /lib/modules\n \ + name: lib-modules\n + readOnly: true\n + \ - mountPath: /run\n + name: run\n + - mountPath: /sys\n + name: sys\n + - mountPath: /var/locks/openstack/os-brick\n \ + name: var-locks-brick\n + - mountPath: /etc/nvme\n \ + name: etc-nvme\n + - mountPath: /var/log/glance\n \ + name: logs\n + - mountPath: /usr/local/bin/container-scripts\n \ + name: scripts\n + readOnly: true\n + - mountPath: /run/httpd\n + name: httpd-run\n + - mountPath: /var/lib/glance/image-cache\n + name: glance-cache\n + - args:\n + - --single-child\n + - --\n + - /bin/bash\n + - -c\n + - /usr/local/bin/kolla_start\n \ + command:\n + - /usr/bin/dumb-init\n + env:\n \ + - name: CONFIG_HASH\n + value: n64dh5c5h558h667h5bbh88h558h5f6h5dbh67ch646h668hcdh589h58h74h575hch78h66fhd7h554h5ch5b4h698h78h7bh5dch67bh55ch58h695q\n \ + - name: GLANCE_DOMAIN\n + value: glance-default-external-api.glance-kuttl-tests.svc\n \ + - name: KOLLA_CONFIG_STRATEGY\n + value: COPY_ALWAYS\n \ + - name: URISCHEME\n + value: HTTP\n + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n + \ imagePullPolicy: IfNotPresent\n + livenessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ + name: glance-api\n + readinessProbe:\n + failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + \ port: 9292\n + scheme: HTTP\n + initialDelaySeconds: 5\n + periodSeconds: 30\n + successThreshold: 1\n \ + timeoutSeconds: 30\n + resources: {}\n + \ securityContext:\n + allowPrivilegeEscalation: true\n + \ privileged: true\n + runAsUser: 42415\n + seccompProfile:\n \ + type: RuntimeDefault\n + startupProbe:\n + \ exec:\n + command:\n + - /bin/true\n \ + failureThreshold: 6\n + periodSeconds: 10\n + \ successThreshold: 1\n + timeoutSeconds: 1\n + terminationMessagePath: /dev/termination-log\n + terminationMessagePolicy: File\n + \ volumeMounts:\n + - mountPath: /var/lib/config-data/default\n \ + name: config-data\n + readOnly: true\n + \ - mountPath: /etc/my.cnf\n + name: config-data\n + \ readOnly: true\n + subPath: my.cnf\n + - mountPath: /var/lib/kolla/config_files/config.json\n + name: config-data\n \ + readOnly: true\n + subPath: glance-api-config.json\n \ + - mountPath: /var/lib/glance\n + name: glance\n \ + - mountPath: /etc/iscsi\n + name: etc-iscsi\n + \ readOnly: true\n + - mountPath: /dev\n + name: dev\n + - mountPath: /lib/modules\n + name: lib-modules\n \ + readOnly: true\n + - mountPath: /run\n + \ name: run\n + - mountPath: /sys\n + name: sys\n + - mountPath: /var/locks/openstack/os-brick\n + name: var-locks-brick\n + - mountPath: /etc/nvme\n + name: etc-nvme\n + - mountPath: /var/log/glance\n + name: logs\n + - mountPath: /usr/local/bin/container-scripts\n + \ name: scripts\n + readOnly: true\n + - mountPath: /run/httpd\n + name: httpd-run\n + - mountPath: /var/lib/glance/image-cache\n \ + name: glance-cache\n + dnsPolicy: ClusterFirst\n \ + hostPID: true\n + restartPolicy: Always\n + schedulerName: default-scheduler\n + securityContext:\n + fsGroup: 42415\n \ serviceAccount: glance-glance\n serviceAccountName: glance-glance\n + terminationGracePeriodSeconds: 30\n + volumes: '[... elided field over 10 lines long ...]'\n + updateStrategy:\n + \ rollingUpdate:\n + partition: 0\n + type: RollingUpdate\n \ + volumeClaimTemplates: '[... elided field over 10 lines long ...]'\n status:\n \ availableReplicas: 1\n + collisionCount: 0\n + currentReplicas: 1\n + currentRevision: glance-default-external-api-f7fd65695\n + \ observedGeneration: 4\n + readyReplicas: 1\n replicas: 1\n + \ updateRevision: glance-default-external-api-f7fd65695\n + updatedReplicas: 1\n \n \n case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-external-api: .spec.template.spec.containers: slice length mismatch: 2 != 3\n case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-internal-api\n +++ StatefulSet:glance-kuttl-tests/glance-default-internal-api\n \ @@ -1,18 +1,47 @@\n apiVersion: apps/v1\n kind: StatefulSet\n \ metadata:\n + labels:\n + component: glance-api\n + \ glanceAPI: glance-default-internal\n + owner: glance-default-internal\n \ + service: glance\n + managedFields: '[... elided field over 10 lines long ...]'\n name: glance-default-internal-api\n namespace: glance-kuttl-tests\n + ownerReferences:\n + - apiVersion: glance.openstack.org/v1beta1\n \ + blockOwnerDeletion: true\n + controller: true\n + \ kind: GlanceAPI\n + name: glance-default-internal\n + uid: d117af91-46d6-4896-a166-9aaa4e9e0b70\n spec:\n + persistentVolumeClaimRetentionPolicy:\n \ + whenDeleted: Retain\n + whenScaled: Retain\n + podManagementPolicy: Parallel\n replicas: 1\n + revisionHistoryLimit: 10\n selector:\n \ matchLabels:\n + component: glance-api\n + glanceAPI: glance-default-internal\n + owner: glance-default-internal\n service: glance\n + serviceName: glance-default-internal-api\n template:\n \ metadata:\n + annotations:\n + k8s.v1.cni.cncf.io/networks: '[]'\n + creationTimestamp: null\n labels:\n + \ component: glance-api\n + glanceAPI: glance-default-internal\n \ + owner: glance-default-internal\n service: glance\n \ spec:\n + affinity: '[... elided field over 10 lines long ...]'\n containers:\n - args:\n - --single-child\n \ @@ -22,7 +51,62 @@\n - /usr/bin/tail -n+1 -F /var/log/glance/glance-default-internal.log 2>/dev/null\n command:\n - /usr/bin/dumb-init\n \ + env:\n + - name: CONFIG_HASH\n + value: n66dh576h65hb6hd5h9fh5f4hb9h699h5b8h78h55bh5b5h695h64fh67ch58dh59bh69hbdh599h657h76h675h56fh54h65h654h5cch699h85h89q\n \ + - name: GLANCE_DOMAIN\n + value: glance-default-internal-api.glance-kuttl-tests.svc\n \ + - name: KOLLA_CONFIG_STRATEGY\n + value: COPY_ALWAYS\n \ + - name: URISCHEME\n + value: HTTP\n + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n + \ imagePullPolicy: IfNotPresent\n + livenessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ name: glance-log\n + readinessProbe:\n + failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + \ port: 9292\n + scheme: HTTP\n + initialDelaySeconds: 5\n + periodSeconds: 30\n + successThreshold: 1\n \ + timeoutSeconds: 30\n + resources: {}\n + \ securityContext:\n + allowPrivilegeEscalation: false\n + \ capabilities:\n + drop:\n + - ALL\n \ + runAsGroup: 42415\n + runAsNonRoot: true\n + \ runAsUser: 42415\n + seccompProfile:\n + type: RuntimeDefault\n + startupProbe:\n + exec:\n + \ command:\n + - /bin/true\n + failureThreshold: 6\n + periodSeconds: 10\n + successThreshold: 1\n \ + timeoutSeconds: 1\n + terminationMessagePath: /dev/termination-log\n \ + terminationMessagePolicy: File\n + volumeMounts:\n \ + - mountPath: /var/log/glance\n + name: logs\n - args:\n - --single-child\n - --\n @@ -31,10 +115,217 @@\n - /usr/local/bin/kolla_start\n command:\n \ - /usr/bin/dumb-init\n + env:\n + - name: CONFIG_HASH\n + value: n66dh576h65hb6hd5h9fh5f4hb9h699h5b8h78h55bh5b5h695h64fh67ch58dh59bh69hbdh599h657h76h675h56fh54h65h654h5cch699h85h89q\n \ + - name: GLANCE_DOMAIN\n + value: glance-default-internal-api.glance-kuttl-tests.svc\n \ + - name: KOLLA_CONFIG_STRATEGY\n + value: COPY_ALWAYS\n \ + - name: URISCHEME\n + value: HTTP\n + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n + \ imagePullPolicy: IfNotPresent\n + livenessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ name: glance-httpd\n + readinessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ + resources: {}\n + securityContext:\n + allowPrivilegeEscalation: true\n + capabilities:\n + drop:\n + - MKNOD\n + privileged: true\n + runAsGroup: 42415\n \ + runAsUser: 42415\n + seccompProfile:\n + \ type: RuntimeDefault\n + startupProbe:\n + exec:\n \ + command:\n + - /bin/true\n + failureThreshold: 6\n + periodSeconds: 10\n + successThreshold: 1\n \ + timeoutSeconds: 1\n + terminationMessagePath: /dev/termination-log\n \ + terminationMessagePolicy: File\n + volumeMounts:\n \ + - mountPath: /var/lib/config-data/default\n + name: config-data\n + readOnly: true\n + - mountPath: /etc/my.cnf\n \ + name: config-data\n + readOnly: true\n + \ subPath: my.cnf\n + - mountPath: /var/lib/kolla/config_files/config.json\n \ + name: config-data\n + readOnly: true\n + \ subPath: glance-httpd-config.json\n + - mountPath: /var/lib/glance\n \ + name: glance\n + - mountPath: /etc/iscsi\n + \ name: etc-iscsi\n + readOnly: true\n + - mountPath: /dev\n + name: dev\n + - mountPath: /lib/modules\n \ + name: lib-modules\n + readOnly: true\n + \ - mountPath: /run\n + name: run\n + - mountPath: /sys\n + name: sys\n + - mountPath: /var/locks/openstack/os-brick\n \ + name: var-locks-brick\n + - mountPath: /etc/nvme\n \ + name: etc-nvme\n + - mountPath: /var/log/glance\n \ + name: logs\n + - mountPath: /usr/local/bin/container-scripts\n \ + name: scripts\n + readOnly: true\n + - mountPath: /run/httpd\n + name: httpd-run\n + - mountPath: /var/lib/glance/image-cache\n + name: glance-cache\n + - args:\n + - --single-child\n + - --\n + - /bin/bash\n + - -c\n + - /usr/local/bin/kolla_start\n \ + command:\n + - /usr/bin/dumb-init\n + env:\n \ + - name: CONFIG_HASH\n + value: n66dh576h65hb6hd5h9fh5f4hb9h699h5b8h78h55bh5b5h695h64fh67ch58dh59bh69hbdh599h657h76h675h56fh54h65h654h5cch699h85h89q\n \ + - name: GLANCE_DOMAIN\n + value: glance-default-internal-api.glance-kuttl-tests.svc\n \ + - name: KOLLA_CONFIG_STRATEGY\n + value: COPY_ALWAYS\n \ + - name: URISCHEME\n + value: HTTP\n + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified\n + \ imagePullPolicy: IfNotPresent\n + livenessProbe:\n + \ failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + port: 9292\n + scheme: HTTP\n \ + initialDelaySeconds: 5\n + periodSeconds: 30\n \ + successThreshold: 1\n + timeoutSeconds: 30\n \ + name: glance-api\n + readinessProbe:\n + failureThreshold: 3\n + httpGet:\n + path: /healthcheck\n + \ port: 9292\n + scheme: HTTP\n + initialDelaySeconds: 5\n + periodSeconds: 30\n + successThreshold: 1\n \ + timeoutSeconds: 30\n + resources: {}\n + \ securityContext:\n + allowPrivilegeEscalation: true\n + \ privileged: true\n + runAsUser: 42415\n + seccompProfile:\n \ + type: RuntimeDefault\n + startupProbe:\n + \ exec:\n + command:\n + - /bin/true\n \ + failureThreshold: 6\n + periodSeconds: 10\n + \ successThreshold: 1\n + timeoutSeconds: 1\n + terminationMessagePath: /dev/termination-log\n + terminationMessagePolicy: File\n + \ volumeMounts:\n + - mountPath: /var/lib/config-data/default\n \ + name: config-data\n + readOnly: true\n + \ - mountPath: /etc/my.cnf\n + name: config-data\n + \ readOnly: true\n + subPath: my.cnf\n + - mountPath: /var/lib/kolla/config_files/config.json\n + name: config-data\n \ + readOnly: true\n + subPath: glance-api-config.json\n \ + - mountPath: /var/lib/glance\n + name: glance\n \ + - mountPath: /etc/iscsi\n + name: etc-iscsi\n + \ readOnly: true\n + - mountPath: /dev\n + name: dev\n + - mountPath: /lib/modules\n + name: lib-modules\n \ + readOnly: true\n + - mountPath: /run\n + \ name: run\n + - mountPath: /sys\n + name: sys\n + - mountPath: /var/locks/openstack/os-brick\n + name: var-locks-brick\n + - mountPath: /etc/nvme\n + name: etc-nvme\n + - mountPath: /var/log/glance\n + name: logs\n + - mountPath: /usr/local/bin/container-scripts\n + \ name: scripts\n + readOnly: true\n + - mountPath: /run/httpd\n + name: httpd-run\n + - mountPath: /var/lib/glance/image-cache\n \ + name: glance-cache\n + dnsPolicy: ClusterFirst\n \ + hostPID: true\n + restartPolicy: Always\n + schedulerName: default-scheduler\n + securityContext:\n + fsGroup: 42415\n \ serviceAccount: glance-glance\n serviceAccountName: glance-glance\n + terminationGracePeriodSeconds: 30\n + volumes: '[... elided field over 10 lines long ...]'\n + updateStrategy:\n + \ rollingUpdate:\n + partition: 0\n + type: RollingUpdate\n \ + volumeClaimTemplates: '[... elided field over 10 lines long ...]'\n status:\n \ availableReplicas: 1\n + collisionCount: 0\n + currentReplicas: 1\n + currentRevision: glance-default-internal-api-7469d598db\n + \ observedGeneration: 4\n + readyReplicas: 1\n replicas: 1\n + \ updateRevision: glance-default-internal-api-7469d598db\n + updatedReplicas: 1\n \n \n case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-internal-api: .spec.template.spec.containers: slice length mismatch: 2 != 3\n logger.go:42: 09:35:21 | glance_split | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_single\n \ logger.go:42: 09:35:21 | glance_single | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 09:35:21 | glance_single/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 09:35:21 | 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: 09:35:22 | glance_single/1-deploy_glance | The Glance \"glance\" is invalid: spec.glanceAPIs[default]: Invalid value: \"default\": The GlanceAPI layout (type) cannot be modified. To proceed, please add a new API with the desired layout and then decommission the previous API\n case.go:396: failed in step 1-deploy_glance\n case.go:398: command \"oc kustomize ../../../../config/samples/layout/single | oc apply -n...\" failed, exit status 1\n logger.go:42: 09:35:22 | glance_single | skipping kubernetes event logging\n=== CONT kuttl/harness/glance_image_cache\n \ logger.go:42: 09:35:22 | glance_image_cache | Skipping creation of user-supplied namespace: glance-kuttl-tests\n logger.go:42: 09:35:22 | glance_image_cache/1-deploy_glance | starting test step 1-deploy_glance\n logger.go:42: 09:35:22 | 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: 09:35:23 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance unchanged\n logger.go:42: 09:35:23 | 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: 09:35:23 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance patched\n logger.go:42: 09:35:23 | 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: 09:35:23 | glance_image_cache/1-deploy_glance | configmap/openstack-scripts-9db6gc427h created\n logger.go:42: 09:35:23 | glance_image_cache/1-deploy_glance | pod/openstackclient created\n logger.go:42: 09:35:23 | glance_image_cache/1-deploy_glance | test step completed 1-deploy_glance\n logger.go:42: 09:35:23 | glance_image_cache/2-cache-image | starting test step 2-cache-image\n logger.go:42: 09:35:23 | 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: 09:35:43 | glance_image_cache/2-cache-image | + TIME=3\n logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + CACHE_TIME=6\n \ logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + DOMAIN=glance-default-external-api.glance-kuttl-tests.svc\n \ logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + REPLICA=glance-default-external-api-\n \ logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + IMAGE_NAME=myimage\n \ logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | ++ awk '/auth_url/ {print $2}' /etc/openstack/clouds.yaml\n logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + KEYSTONE=http://keystone-public.glance-kuttl-tests.svc:5000\n logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + ADMIN_PWD=12345678\n logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + ADMIN_USER=admin\n logger.go:42: 09:35:43 | 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: 09:35:43 | glance_image_cache/2-cache-image | + exec\n logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + echo This is a dodgy image\n logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + openstack image list -c ID -f value\n \ logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + xargs -n 1 openstack image delete\n logger.go:42: 09:35:47 | glance_image_cache/2-cache-image | usage: openstack image delete [-h] [ ...]\n logger.go:42: 09:35:47 | glance_image_cache/2-cache-image | openstack image delete: error: the following arguments are required: \n logger.go:42: 09:35:47 | 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: 09:35:47 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 09:35:50 | glance_image_cache/2-cache-image | + CACHED_ID=\n logger.go:42: 09:35:50 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n logger.go:42: 09:35:50 | 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: 09:35:50 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host='glance-default-external-api-1.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: 09:35:51 | glance_image_cache/2-cache-image | + CACHED_ID=\n logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | + echo 'Creating new image.'\n logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | Creating new image.\n logger.go:42: 09:35:51 | 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: 09:35:54 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | Property | Value |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | checksum | 69bcebf29946998555945bfd562df6f0 |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | container_format | bare |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | created_at | 2025-10-01T09:35:52Z |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | disk_format | qcow2 |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | id | 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | min_disk | 0 |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | min_ram | 0 |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | name | myimage |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | os_hash_algo | sha512 |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | os_hash_value \ | 756138eda333dfdd93b80d8bae18b447fbab34462db0cc57df732b81e51015961e815e04c09b42da |\n logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | | 7de16058d0fc34812d6ecc3496bd7519c395202e88705ccc |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | os_hidden | False |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | owner | e10dcd97f23c45a88975f1cf2640176a |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | protected | False |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | size | 22 |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | status | active |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | stores | default_backend |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | tags | [] |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | updated_at | 2025-10-01T09:35:54Z |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | virtual_size | Not available |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | visibility | shared |\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+\n \ logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | + sleep 3\n logger.go:42: 09:35: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 image-list\n logger.go:42: 09:35:57 | glance_image_cache/2-cache-image | ++ awk -v img=myimage '$0 ~ img {print $2}'\n \ logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | Image ID: 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n \ logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | + ID=7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n \ logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | + echo 'Image ID: 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f'\n logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | + sleep 3\n logger.go:42: 09:36:01 | 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 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n logger.go:42: 09:36:01 | glance_image_cache/2-cache-image | ++ awk '/status/{print $4}'\n logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | Image Status => active\n logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | Caching image on replica 0\n logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + STATE=active\n logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + echo 'Image Status => active'\n \ logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + [[ active != \\a\\c\\t\\i\\v\\e ]]\n logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + echo 'Caching image on replica 0'\n logger.go:42: 09:36:03 | 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 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n logger.go:42: 09:36:05 | glance_image_cache/2-cache-image | + sleep 6\n logger.go:42: 09:36:11 | 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: 09:36:11 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + CACHED_ID=7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 0 => 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f'\n \ logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + [[ 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f != 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f ]]\n logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + echo 'Verifying image is not cached on replica 1'\n logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n \ logger.go:42: 09:36:12 | 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: 09:36:12 | glance_image_cache/2-cache-image | Cached image id on replica 0 => 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | Verifying image is not cached on replica 1\n logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host='glance-default-external-api-1.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: 09:36:13 | glance_image_cache/2-cache-image | + CACHED_ID_1=\n logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 1 => '\n logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | + [[ '' != '' ]]\n logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | + echo 'Caching image on replica 1'\n logger.go:42: 09:36:13 | 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 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f\n logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | Cached image id on replica 1 => \n logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | Caching image on replica 1\n logger.go:42: 09:36:14 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host='glance-default-external-api-1.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: 09:36:14 | glance_image_cache/2-cache-image | + sleep 6\n logger.go:42: 09:36:20 | glance_image_cache/2-cache-image | ++ awk -v state=cached '$0 ~ state {print $2}'\n logger.go:42: 09:36:20 | 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: 09:36:21 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host='glance-default-external-api-1.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: 09:36:21 | glance_image_cache/2-cache-image | Cached image id on replica 1 => \n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | Failed to cache image on replica 1, exiting!\n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + CACHED_ID_2=\n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + echo 'Cached image id on replica 1 => '\n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + [[ '' != 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f ]]\n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + echo 'Failed to cache image on replica 1, exiting!'\n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + exit 1\n logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | command terminated with exit code 1\n case.go:396: failed in step 2-cache-image\n case.go:398: command \"sleep 20; oc -n $NAMESPACE exec -it openstackclient --stdin=false -...\" failed, exit status 1\n logger.go:42: 09:36:21 | 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 (601.99s)\n --- FAIL: kuttl/harness (0.00s)\n --- PASS: kuttl/harness/glance_dist_image_import (90.65s)\n --- PASS: kuttl/harness/glance_single_tls (49.75s)\n --- FAIL: kuttl/harness/glance_split_proxypass (219.12s)\n --- FAIL: kuttl/harness/glance_split (182.50s)\n --- FAIL: kuttl/harness/glance_single (0.66s)\n --- FAIL: kuttl/harness/glance_image_cache (59.29s)\nFAIL\nmake[1]: *** [Makefile:2012: glance_kuttl_run] Error 1\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake: *** [Makefile:2021: 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 -n openshift-marketplace - + grep CrashLoopBackOff - + '[' 1 -eq 0 ']' - + 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 220d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + grep kubernetes-nmstate-operator - + oc get packagemanifests -n openshift-marketplace - kubernetes-nmstate-operator Red Hat Operators 220d - + '[' 0 -eq 0 ']' - + break - + for operator in $OPERATORS - + n=0 - + retries=20 - + true - + grep metallb-operator - + oc get packagemanifests -n openshift-marketplace - metallb-operator Red Hat Operators 220d - + '[' 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. - No resources found in metallb-system namespace. - No resources found in metallb-system namespace. - metallb-operator-controller-manager-7d59c47655-9kwhv 0/1 Running 0 7s - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager --timeout=500s - pod/metallb-operator-controller-manager-7d59c47655-9kwhv 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-67c678544c-thtq2 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-67c678544c-thtq2 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-h7cfp 1/2 Running 0 10s - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s - pod/speaker-h7cfp 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 c8fbf68986fa' - 'Note: switching to ''c8fbf68986fa''.' - '' - 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 c8fbf68 Merge pull request #367 from openstack-k8s-operators/renovate/github.com-onsi-ginkgo-v2-2.x' - 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 '' ']' - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + '[' '!' -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 ]] - + 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 - ++ 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 51c0fe58c195' - 'Note: switching to ''51c0fe58c195''.' - '' - 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 51c0fe5 Merge pull request #465 from dprince/rabbit_2.16.0' - 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 '' ']' - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + '[' '!' -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 ]] - + kustomization_add_resources - + echo merge config dir - merge config dir - ++ grep -v kustomization - ++ find . -type f -name '*.yaml' - + 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 - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o json - '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=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 '' ']' - + IMAGE=unused - + IMAGE_PATH=image - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + '[' '!' -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 ]] - + 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 - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - '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 - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json - + 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 3cc98ad43636' - 'Note: switching to ''3cc98ad43636''.' - '' - 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 3cc98ad Merge pull request #629 from fmount/modernize' - 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 '' ']' - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + '[' '!' -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 ]] - + 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 - + 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 - ++ oc get -n openstack-operators deployment keystone-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/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 c0eab4bfab67' - 'Note: switching to ''c0eab4bfab67''.' - '' - 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 c0eab4b Merge pull request #386 from fmount/modernize' - 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 '' ']' - + IMAGE=unused - + IMAGE_PATH=containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + '[' '!' -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 ]] - + 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 - ++ 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 - + REPLICAS=null - + '[' null '!=' 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 - + 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.27:5001/openstack-k8s-operators/glance-operator-index:cb960769c9cc3013d7b401f1587a0fc0a591e36d ']' - + '[' -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 '' ']' - + IMAGE=unused,unused,unused - + IMAGE_PATH=containerImage,glanceAPIInternal/containerImage,glanceAPIExternal/containerImage - + STORAGE_REQUEST=10G - + INTERFACE_MTU=1500 - + '[' '!' -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 ]] - + 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 - + 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 - ++ jq -e .status.availableReplicas - ++ oc get -n openstack-operators deployment glance-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''' - 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"' - '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/10/01 09:26:19 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 180 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: 09:26:19 | glance_dist_image_import | Ignoring README.md as it does not match file name regexp: ^(\d+)-(?:[^\.]+)(?:\.yaml)?$' - ' logger.go:42: 09:26:19 | glance_dist_image_import | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 09:26:19 | glance_dist_image_import/0-deploy | starting test step 0-deploy' - ' logger.go:42: 09:26:19 | 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: 09:26:20 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance created' - ' logger.go:42: 09:26:20 | 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: 09:26:20 | glance_dist_image_import/0-deploy | glance.glance.openstack.org/glance patched' - ' logger.go:42: 09:26:20 | 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: 09:26:20 | glance_dist_image_import/0-deploy | configmap/openstack-scripts-9db6gc427h created' - ' logger.go:42: 09:26:20 | glance_dist_image_import/0-deploy | pod/openstackclient created' - ' logger.go:42: 09:27:12 | glance_dist_image_import/0-deploy | test step completed 0-deploy' - ' logger.go:42: 09:27:12 | glance_dist_image_import/1-import-image | starting test step 1-import-image' - ' logger.go:42: 09:27:12 | 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: 09:27:22 | glance_dist_image_import/1-import-image | usage: openstack image delete [-h] [ ...]' - ' logger.go:42: 09:27:22 | glance_dist_image_import/1-import-image | openstack image delete: error: the following arguments are required: ' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | Property | Value |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | checksum | None |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | container_format | bare |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | created_at | 2025-10-01T09:27:25Z |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | disk_format | qcow2 |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | id | 51862d39-97d2-49cf-a342-2180ec44f771 |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | locations | [] |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | min_disk | 0 |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | min_ram | 0 |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | name | myimage |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | os_hash_algo | None |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | os_hash_value | None |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | os_hidden | False |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | owner | e10dcd97f23c45a88975f1cf2640176a |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | protected | False |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | size | None |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | status | queued |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | tags | [] |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | updated_at | 2025-10-01T09:27:25Z |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | virtual_size | Not available |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | | visibility | shared |' - ' logger.go:42: 09:27:25 | glance_dist_image_import/1-import-image | +------------------+--------------------------------------+' - ' logger.go:42: 09:27:27 | glance_dist_image_import/1-import-image | Image ID: 51862d39-97d2-49cf-a342-2180ec44f771' - ' logger.go:42: 09:27:29 | glance_dist_image_import/1-import-image | Image Status => queued' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | +-----------------------+--------------------------------------+' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | Property | Value |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | +-----------------------+--------------------------------------+' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | checksum | None |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | container_format | bare |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | created_at | 2025-10-01T09:27:25Z |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | disk_format | qcow2 |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | id | 51862d39-97d2-49cf-a342-2180ec44f771 |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | locations | [] |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | min_disk | 0 |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | min_ram | 0 |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | name | myimage |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_glance_import_task | faba2a65-1eeb-4789-9c95-dd63de88ecf7 |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_hash_algo | None |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_hash_value | None |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | os_hidden | False |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | owner | e10dcd97f23c45a88975f1cf2640176a |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | protected | False |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | size | 22 |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | status | uploading |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | tags | [] |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | updated_at | 2025-10-01T09:27:36Z |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | virtual_size | Not available |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | | visibility | shared |' - ' logger.go:42: 09:27:37 | glance_dist_image_import/1-import-image | +-----------------------+--------------------------------------+' - ' logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+' - ' logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | | ID | Name |' - ' logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+' - ' logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | | 51862d39-97d2-49cf-a342-2180ec44f771 | myimage |' - ' logger.go:42: 09:27:39 | glance_dist_image_import/1-import-image | +--------------------------------------+---------+' - ' logger.go:42: 09:27:41 | glance_dist_image_import/1-import-image | Image Status: active' - ' logger.go:42: 09:27:45 | glance_dist_image_import/1-import-image | test step completed 1-import-image' - ' logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | starting test step 2-cleanup' - ' logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | running command: [sh -c oc -n $NAMESPACE kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | running command: [sh -c oc -n $NAMESPACE kustomize --load-restrictor LoadRestrictionsNone ../../../../config/samples/openstackclient | oc -n $NAMESPACE delete -f -' - ' ]' - ' logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | configmap "openstack-scripts-9db6gc427h" deleted' - ' logger.go:42: 09:27:45 | glance_dist_image_import/2-cleanup | pod "openstackclient" deleted' - ' logger.go:42: 09:27:50 | glance_dist_image_import/2-cleanup | test step completed 2-cleanup' - ' logger.go:42: 09:27:50 | glance_dist_image_import | skipping kubernetes event logging' - === CONT kuttl/harness/glance_single_tls - ' logger.go:42: 09:27:50 | glance_single_tls | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle' - ' logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/combined-ca-bundle created' - ' logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-internal-svc created' - ' logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | Secret:glance-kuttl-tests/cert-glance-default-public-svc created' - ' logger.go:42: 09:27:50 | glance_single_tls/0-tls_ca_bundle | test step completed 0-tls_ca_bundle' - ' logger.go:42: 09:27:50 | glance_single_tls/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 09:27:50 | 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: 09:27:50 | glance_single_tls/1-deploy_glance | glance.glance.openstack.org/glance created' - ' logger.go:42: 09:27:50 | 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: 09:27:51 | glance_single_tls/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: 09:27:52 | 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: 09:27:52 | glance_single_tls/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: 09:27:53 | 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: 09:27:53 | glance_single_tls/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: 09:27:54 | 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: 09:27:54 | glance_single_tls/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: 09:27:55 | 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: 09:27:55 | glance_single_tls/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: 09:27:56 | 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: 09:27:56 | glance_single_tls/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: 09:27:57 | 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: 09:27:58 | glance_single_tls/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: 09:27:59 | 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: 09:27:59 | glance_single_tls/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: 09:28:00 | 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: 09:28:00 | glance_single_tls/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: 09:28:01 | 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: 09:28:01 | glance_single_tls/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: 09:28:02 | 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: 09:28:02 | glance_single_tls/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: 09:28:03 | 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: 09:28:03 | glance_single_tls/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: 09:28:04 | 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: 09:28:05 | glance_single_tls/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: 09:28:06 | 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: 09:28:06 | glance_single_tls/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: 09:28:07 | 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: 09:28:07 | glance_single_tls/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: 09:28:08 | 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: 09:28:08 | glance_single_tls/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: 09:28:09 | 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: 09:28:09 | glance_single_tls/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: 09:28:10 | 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: 09:28:10 | glance_single_tls/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: 09:28:11 | 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: 09:28:12 | glance_single_tls/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: 09:28:13 | 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: 09:28:13 | glance_single_tls/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: 09:28:14 | 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: 09:28:15 | 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: 09:28:16 | 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: 09:28: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: 09:28:19 | 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: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:25 | 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: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:31 | 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: 09:28: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: 09:28: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: 09:28: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: 09:28:34 | glance_single_tls/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 09:28:34 | glance_single_tls/5-cleanup-glance | starting test step 5-cleanup-glance' - ' logger.go:42: 09:28:34 | glance_single_tls/5-cleanup-glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc delete -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 09:28:35 | glance_single_tls/5-cleanup-glance | glance.glance.openstack.org "glance" deleted' - ' logger.go:42: 09:28:40 | glance_single_tls/5-cleanup-glance | test step completed 5-cleanup-glance' - ' logger.go:42: 09:28:40 | glance_single_tls | skipping kubernetes event logging' - === CONT kuttl/harness/glance_split_proxypass - ' logger.go:42: 09:28:40 | glance_split_proxypass | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 09:28:40 | glance_split_proxypass/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 09:28:40 | 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: 09:28:40 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance created' - ' logger.go:42: 09:28:40 | glance_split_proxypass/1-deploy_glance | glance.glance.openstack.org/glance patched' - ' logger.go:42: 09:28:40 | 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: 09:28:40 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:40 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:40 | 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: 09:28:41 | 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: 09:28:41 | 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: 09:28:41 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:41 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:41 | 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: 09:28:41 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:41 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:41 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:42 | 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:42 | 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: 09:28:42 | 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: 09:28:42 | 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:42 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:42 | 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: 09:28:42 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:42 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:42 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:43 | 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:43 | 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: 09:28:43 | 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: 09:28:43 | 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:43 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:43 | 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: 09:28:43 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:43 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:43 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:44 | 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:44 | 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: 09:28:44 | 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: 09:28:44 | 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:44 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:40Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40205\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:44 | 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: 09:28:44 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40205 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:44 | 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-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:44 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:45 | 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:45 | 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: 09:28:45 | 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: 09:28:45 | 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:45 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:45 | 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: 09:28:45 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:45 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:45 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:46 | 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: 09:28:46 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:46 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:46 | 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: 09:28:47 | 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: 09:28:47 | 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: 09:28:47 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:47 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:47 | 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: 09:28:47 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:47 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:47 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:48 | 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:48 | 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: 09:28:48 | 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: 09:28:48 | 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:48 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:48 | 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: 09:28:48 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:48 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:48 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:49 | 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:49 | 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: 09:28:49 | 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: 09:28:49 | 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:49 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:49 | 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: 09:28:49 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:49 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:49 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:50 | 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:50 | 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: 09:28:50 | 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: 09:28:50 | 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:50 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:50 | 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: 09:28:50 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:50 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:50 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:51 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:51 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28: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: 09:28:51 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28: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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:51 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:52 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:52 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28: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: 09:28:52 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28: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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:52 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:53 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28:54 | 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: 09:28:54 | 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: 09:28:54 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:54 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:54 | 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: 09:28:54 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:54 | 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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:54 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28:55 | 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: 09:28:55 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:28:55 | 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: 09:28: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: 09:28: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: 09:28:55 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:status\":{\".\":{},\"f:conditions\":{},\"f:notificationBusSecret\":{},\"f:observedGeneration\":{}}},\"manager\":\"manager\",\"operation\":\"Update\",\"subresource\":\"status\",\"time\":\"2025-10-01T09:28:45Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40252\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:45Z\",\"message\":\"Setup started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DB create job still running\",\"reason\":\"Requested\",\"status\":\"Unknown\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"DBsync not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Service config create not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"ServiceConfigReady\"}],\"notificationBusSecret\":\"rabbitmq-transport-url-glance-glance-transport\",\"observedGeneration\":1}}" - " logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28: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: 09:28:55 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:45Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40252 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28: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-10-01T09:28:45Z message:Setup started reason:Init status:Unknown type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DB create job still running reason:Requested status:Unknown type:DBReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:DBsync not started reason:Init status:Unknown type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:40Z reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Service config create not started reason:Init status:Unknown type:ServiceConfigReady]] notificationBusSecret:rabbitmq-transport-url-glance-glance-transport observedGeneration:1]]''' - ' logger.go:42: 09:28:55 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:56 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:56 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40349\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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: 09:28:56 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28: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: 09:28:56 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40349 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:56 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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: 09:28:56 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:57 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:57 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:56Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40349\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"Keystone Service user registration not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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: 09:28:57 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28: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: 09:28:57 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:56Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40349 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:57 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:Keystone Service user registration not started reason:Init status:Unknown type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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: 09:28:57 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:58 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28: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: 09:28: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: 09:28:58 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}" - " logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28: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: 09:28:58 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]''' - ' logger.go:42: 09:28:58 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:28: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: 09:28:59 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:28: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: 09:28: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: 09:28:59 | 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: 09:28:59 | 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: 09:28:59 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:28:59 | 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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}" - " logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:28:59 | 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: 09:28:59 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:28:59 | 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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]''' - ' logger.go:42: 09:28:59 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:29: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: 09:29:01 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:01 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:29: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}" - " logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:29: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: 09:29:01 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:29: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]''' - ' logger.go:42: 09:29:01 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:29: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: 09:29:02 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:02 | glance_split_proxypass/1-deploy_glance | \ttemplate was:" - " logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | \t\t{{ index .status.apiEndpoint \"default-internal\" }}{{ \":\" }}{{ index .status.apiEndpoint \"default-public\" }}" - " logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | \traw data was:" - " logger.go:42: 09:29: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-10-01T09:28:40Z\",\"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-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:annotations\":{\"f:glance.openstack.org/wsgi\":{}}}},\"manager\":\"kubectl-patch\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"apiVersion\":\"glance.openstack.org/v1beta1\",\"fieldsType\":\"FieldsV1\",\"fieldsV1\":{\"f:metadata\":{\"f:finalizers\":{\".\":{},\"v:\\\"openstack.org/glance\\\"\":{}}}},\"manager\":\"manager\",\"operation\":\"Update\",\"time\":\"2025-10-01T09:28:40Z\"},{\"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-10-01T09:28:58Z\"}],\"name\":\"glance\",\"namespace\":\"glance-kuttl-tests\",\"resourceVersion\":\"40381\",\"uid\":\"3633d9af-3c32-4f55-aaa3-0eeaea368006\"},\"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-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"Ready\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"CronJob not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"CronJobReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DB create completed\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"DBReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"message\":\"DBsync job still running\",\"reason\":\"Requested\",\"severity\":\"Info\",\"status\":\"False\",\"type\":\"DBSyncReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"GlanceAPI not started\",\"reason\":\"Init\",\"status\":\"Unknown\",\"type\":\"GlanceAPIReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Input data complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"InputReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:58Z\",\"message\":\"Setup complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"KeystoneServiceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"MariaDBAccount creation complete\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MariaDBAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\" Memcached instance has been provisioned\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"MemcachedReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"NotificationBusInstance successfully created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"NotificationBusInstanceReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"RoleBinding created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleBindingReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"Role created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"RoleReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:40Z\",\"message\":\"ServiceAccount created\",\"reason\":\"Ready\",\"status\":\"True\",\"type\":\"ServiceAccountReady\"},{\"lastTransitionTime\":\"2025-10-01T09:28:55Z\",\"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\":\"e249fd4d76d243f883aabbb6846796b1\"}}" - " logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | \tobject given to template engine was:" - " logger.go:42: 09:29: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: 09:29:02 | glance_split_proxypass/1-deploy_glance | ] creationTimestamp:2025-10-01T09:28:40Z 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:40Z] 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-10-01T09:28:58Z]] name:glance namespace:glance-kuttl-tests resourceVersion:40381 uid:3633d9af-3c32-4f55-aaa3-0eeaea368006] spec:map[apiTimeout:60 containerImage:quay.io/podified-antelope-centos9/openstack-glance-api:current-podified customServiceConfig:[DEFAULT]' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | enabled_backends = default_backend:swift' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | [glance_store]' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | default_backend = default_backend' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | [default_backend]' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_create_container_on_put = True' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_version = 3' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_auth_address = {{ .KeystoneInternalURL }}' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_endpoint_type = internalURL' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_user = service:glance' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | swift_store_key = {{ .ServicePassword }}' - ' logger.go:42: 09:29: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-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:Ready] map[lastTransitionTime:2025-10-01T09:28:40Z message:CronJob not started reason:Init status:Unknown type:CronJobReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DB create completed reason:Ready status:True type:DBReady] map[lastTransitionTime:2025-10-01T09:28:55Z message:DBsync job still running reason:Requested severity:Info status:False type:DBSyncReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:GlanceAPI not started reason:Init status:Unknown type:GlanceAPIReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Input data complete reason:Ready status:True type:InputReady] map[lastTransitionTime:2025-10-01T09:28:58Z message:Setup complete reason:Ready status:True type:KeystoneServiceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:MariaDBAccount creation complete reason:Ready status:True type:MariaDBAccountReady] map[lastTransitionTime:2025-10-01T09:28:40Z message: Memcached instance has been provisioned reason:Ready status:True type:MemcachedReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:NotificationBusInstance successfully created reason:Ready status:True type:NotificationBusInstanceReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:RoleBinding created reason:Ready status:True type:RoleBindingReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:Role created reason:Ready status:True type:RoleReady] map[lastTransitionTime:2025-10-01T09:28:40Z message:ServiceAccount created reason:Ready status:True type:ServiceAccountReady] map[lastTransitionTime:2025-10-01T09:28:55Z 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:e249fd4d76d243f883aabbb6846796b1]]''' - ' logger.go:42: 09:29:02 | glance_split_proxypass/1-deploy_glance | command failure, skipping 1 additional commands' - ' logger.go:42: 09:29: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: 09:29:03 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29:03 | 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: 09:29:03 | 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: 09:29:03 | 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: 09:29:03 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:03 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:03 | 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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:03 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:04 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:05 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:05 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:05 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:06 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:06 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:06 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:06 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:07 | 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: 09:29:07 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | 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: 09:29:07 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:07 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:07 | 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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:07 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:08 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:09 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:09 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:09 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:10 | 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: 09:29:10 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | 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: 09:29:10 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:10 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:10 | 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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:10 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:11 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:11 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:11 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:11 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:11 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:11 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:12 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:13 | 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: 09:29:13 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | 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: 09:29:13 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:13 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:13 | 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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:13 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:14 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:14 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:14 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:14 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:15 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29:16 | 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: 09:29:16 | 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: 09:29:16 | 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: 09:29:16 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:16 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:16 | 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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:16 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:17 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29: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: 09:29:17 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:17 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:17 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29: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: 09:29:18 | glance_split_proxypass/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:29: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: 09:29: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: 09:29:18 | 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: 09:29:18 | 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: 09:29:18 | 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: 09:29:18 | glance_split_proxypass/1-deploy_glance | + matches=' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:29:18 | glance_split_proxypass/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:18 | 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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | + exit 0' - ' logger.go:42: 09:29:18 | glance_split_proxypass/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 09:29:18 | glance_split_proxypass/2-scale-glanceapis | starting test step 2-scale-glanceapis' - ' logger.go:42: 09:29:18 | 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: 09:29:19 | glance_split_proxypass/2-scale-glanceapis | glance.glance.openstack.org/glance patched' - ' logger.go:42: 09:32:19 | glance_split_proxypass/2-scale-glanceapis | test step failed 2-scale-glanceapis' - ' case.go:396: failed in step 2-scale-glanceapis' - ' case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-external-api' - ' +++ StatefulSet:glance-kuttl-tests/glance-default-external-api' - ' @@ -1,11 +1,49 @@' - ' apiVersion: apps/v1' - ' kind: StatefulSet' - ' metadata:' - ' + labels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-external' - ' + owner: glance-default-external' - ' + service: glance' - ' + managedFields: ''[... elided field over 10 lines long ...]''' - ' name: glance-default-external-api' - ' namespace: glance-kuttl-tests' - ' + ownerReferences:' - ' + - apiVersion: glance.openstack.org/v1beta1' - ' + blockOwnerDeletion: true' - ' + controller: true' - ' + kind: GlanceAPI' - ' + name: glance-default-external' - ' + uid: 4ccf9694-c9c0-422a-99d0-99fcb7845f7c' - ' spec:' - ' + persistentVolumeClaimRetentionPolicy:' - ' + whenDeleted: Retain' - ' + whenScaled: Retain' - ' + podManagementPolicy: Parallel' - ' replicas: 3' - ' + revisionHistoryLimit: 10' - ' + selector:' - ' + matchLabels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-external' - ' + owner: glance-default-external' - ' + service: glance' - ' + serviceName: glance-default-external-api' - ' + template: ''[... elided field over 10 lines long ...]''' - ' + updateStrategy:' - ' + rollingUpdate:' - ' + partition: 0' - ' + type: RollingUpdate' - ' + volumeClaimTemplates: ''[... elided field over 10 lines long ...]''' - ' status:' - ' - availableReplicas: 3' - ' + availableReplicas: 1' - ' + collisionCount: 0' - ' + currentReplicas: 3' - ' + currentRevision: glance-default-external-api-f7fd65695' - ' + observedGeneration: 3' - ' + readyReplicas: 1' - ' replicas: 3' - ' + updateRevision: glance-default-external-api-f7fd65695' - ' + updatedReplicas: 3' - ' ' - ' ' - ' case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-external-api: .status.availableReplicas: value mismatch, expected: 3 != actual: 1' - ' case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-internal-api' - ' +++ StatefulSet:glance-kuttl-tests/glance-default-internal-api' - ' @@ -1,11 +1,49 @@' - ' apiVersion: apps/v1' - ' kind: StatefulSet' - ' metadata:' - ' + labels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-internal' - ' + owner: glance-default-internal' - ' + service: glance' - ' + managedFields: ''[... elided field over 10 lines long ...]''' - ' name: glance-default-internal-api' - ' namespace: glance-kuttl-tests' - ' + ownerReferences:' - ' + - apiVersion: glance.openstack.org/v1beta1' - ' + blockOwnerDeletion: true' - ' + controller: true' - ' + kind: GlanceAPI' - ' + name: glance-default-internal' - ' + uid: d117af91-46d6-4896-a166-9aaa4e9e0b70' - ' spec:' - ' + persistentVolumeClaimRetentionPolicy:' - ' + whenDeleted: Retain' - ' + whenScaled: Retain' - ' + podManagementPolicy: Parallel' - ' replicas: 3' - ' + revisionHistoryLimit: 10' - ' + selector:' - ' + matchLabels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-internal' - ' + owner: glance-default-internal' - ' + service: glance' - ' + serviceName: glance-default-internal-api' - ' + template: ''[... elided field over 10 lines long ...]''' - ' + updateStrategy:' - ' + rollingUpdate:' - ' + partition: 0' - ' + type: RollingUpdate' - ' + volumeClaimTemplates: ''[... elided field over 10 lines long ...]''' - ' status:' - ' - availableReplicas: 3' - ' + availableReplicas: 1' - ' + collisionCount: 0' - ' + currentReplicas: 3' - ' + currentRevision: glance-default-internal-api-7469d598db' - ' + observedGeneration: 3' - ' + readyReplicas: 1' - ' replicas: 3' - ' + updateRevision: glance-default-internal-api-7469d598db' - ' + updatedReplicas: 3' - ' ' - ' ' - ' case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-internal-api: .status.availableReplicas: value mismatch, expected: 3 != actual: 1' - ' logger.go:42: 09:32:19 | glance_split_proxypass | skipping kubernetes event logging' - === CONT kuttl/harness/glance_split - ' logger.go:42: 09:32:19 | glance_split | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 09:32:19 | glance_split/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 09:32:19 | glance_split/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 09:32:21 | glance_split/1-deploy_glance | glance.glance.openstack.org/glance configured' - ' logger.go:42: 09:32:21 | 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: 09:32:21 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:21 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:21 | 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: 09:32:21 | 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: 09:32:21 | 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: 09:32:21 | 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: 09:32:21 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:21 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:21 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:21 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:21 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:21 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:22 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:22 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:23 | 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: 09:32:23 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:23 | 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: 09:32:23 | 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: 09:32:23 | 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: 09:32:23 | 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: 09:32:23 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:23 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:23 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:24 | 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: 09:32:24 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:24 | 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: 09:32:24 | 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: 09:32:24 | 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: 09:32:24 | 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: 09:32:24 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:24 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:24 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:26 | 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: 09:32:26 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:26 | 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: 09:32:26 | 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: 09:32:26 | 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: 09:32:26 | 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: 09:32:26 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:26 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:26 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:27 | 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: 09:32:27 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:27 | 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: 09:32:27 | 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: 09:32:27 | 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: 09:32:27 | 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: 09:32:27 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:27 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:27 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:28 | 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: 09:32:28 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:28 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:28 | 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: 09:32:29 | 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: 09:32:29 | 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: 09:32:29 | 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: 09:32:29 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:29 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:29 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:30 | 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: 09:32:30 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:30 | 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: 09:32:30 | 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: 09:32:30 | 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: 09:32:30 | 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: 09:32:30 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:30 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:30 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:31 | 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: 09:32:31 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:31 | 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: 09:32:31 | 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: 09:32:31 | 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: 09:32:31 | 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: 09:32:31 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:31 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:31 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:32 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:33 | 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: 09:32:33 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:33 | 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: 09:32:33 | 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: 09:32:33 | 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: 09:32:33 | 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: 09:32:33 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:33 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:33 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:34 | 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: 09:32:34 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:34 | 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: 09:32:34 | 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: 09:32:34 | 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: 09:32:34 | 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: 09:32:34 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:34 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:34 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:35 | 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: 09:32:35 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:35 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:35 | 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: 09:32:35 | 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: 09:32:35 | 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: 09:32:35 | 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: 09:32:35 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:35 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:35 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:35 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:35 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:35 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:36 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:36 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:37 | 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: 09:32:37 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:37 | 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: 09:32:37 | 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: 09:32:37 | 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: 09:32:37 | 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: 09:32:37 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:37 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:37 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:38 | 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: 09:32:38 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:38 | 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: 09:32:38 | 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: 09:32:38 | 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: 09:32:38 | 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: 09:32:38 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:38 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:38 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:40 | 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: 09:32:40 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:40 | 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: 09:32:40 | 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: 09:32:40 | 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: 09:32:40 | 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: 09:32:40 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:40 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:40 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:41 | 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: 09:32:41 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:41 | 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: 09:32:41 | 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: 09:32:41 | 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: 09:32:41 | 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: 09:32:41 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:41 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:41 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:42 | 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: 09:32:42 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:42 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:42 | 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: 09:32:43 | 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: 09:32:43 | 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: 09:32:43 | 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: 09:32:43 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:43 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:43 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:44 | 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: 09:32:44 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:44 | 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: 09:32:44 | 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: 09:32:44 | 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: 09:32:44 | 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: 09:32:44 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:44 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:44 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:45 | 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: 09:32:45 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:45 | 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: 09:32:45 | 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: 09:32:45 | 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: 09:32:45 | 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: 09:32:45 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:45 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:45 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:46 | 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: 09:32:46 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:46 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:46 | 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: 09:32:47 | 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: 09:32:47 | 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: 09:32:47 | 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: 09:32:47 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:47 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:47 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:48 | 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: 09:32:48 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:48 | 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: 09:32:48 | 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: 09:32:48 | 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: 09:32:48 | 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: 09:32:48 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:48 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:48 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:49 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:49 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:49 | 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: 09:32:49 | 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: 09:32:49 | 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: 09:32:49 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:49 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:49 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:49 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:49 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:49 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:50 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:50 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:51 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:51 | 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: 09:32:51 | 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: 09:32:51 | 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: 09:32:51 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:51 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:51 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:52 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:52 | 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: 09:32:52 | 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: 09:32:52 | 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: 09:32:52 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:52 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:52 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:54 | 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: 09:32:54 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32:54 | 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: 09:32:54 | 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: 09:32:54 | 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: 09:32:54 | 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: 09:32:54 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:54 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:54 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:55 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:55 | 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: 09:32:55 | 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: 09:32:55 | 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: 09:32:55 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:55 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:55 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:56 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:56 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:56 | 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: 09:32:56 | 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: 09:32:56 | 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: 09:32:56 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:56 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:56 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:56 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:56 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:57 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:57 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:58 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:58 | 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: 09:32:58 | 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: 09:32:58 | 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: 09:32:58 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:58 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:58 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32: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: 09:32:59 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:32: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: 09:32:59 | 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: 09:32:59 | 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: 09:32:59 | 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: 09:32:59 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:32:59 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:32:59 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:01 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:01 | 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: 09:33:01 | 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: 09:33:01 | 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: 09:33:01 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:01 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:01 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:02 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:02 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:02 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:02 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:02 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:03 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:03 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:04 | 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: 09:33:04 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:04 | 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: 09:33: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: 09:33: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: 09:33: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: 09:33:04 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:04 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:04 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:05 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:05 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:05 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:07 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:07 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:07 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:07 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:08 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:08 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:08 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:08 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:09 | 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: 09:33:09 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:09 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:09 | 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: 09:33: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: 09:33: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: 09:33: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: 09:33:10 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:10 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:11 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:11 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:11 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:11 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:12 | 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: 09:33:12 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:12 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:12 | 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: 09:33:12 | 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: 09:33:12 | 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: 09:33:12 | 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: 09:33:12 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:12 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:12 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:12 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:12 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:12 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:13 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:14 | 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: 09:33:14 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:14 | 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: 09:33:14 | 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: 09:33:14 | 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: 09:33:14 | 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: 09:33:14 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:14 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:14 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:15 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:15 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:15 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:16 | 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: 09:33:16 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:16 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:16 | 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: 09:33:16 | 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: 09:33:16 | 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: 09:33:16 | 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: 09:33:16 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:16 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:16 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:16 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:16 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:16 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:17 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:17 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:18 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33: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: 09:33: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: 09:33: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: 09:33:18 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:18 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:18 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:19 | 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: 09:33:19 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:19 | 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: 09:33:19 | 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: 09:33:19 | 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: 09:33:19 | 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: 09:33:19 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:19 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:20 | 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: 09:33:20 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:20 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:20 | 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: 09:33:21 | 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: 09:33:21 | 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: 09:33:21 | 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: 09:33:21 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:21 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:21 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:22 | 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: 09:33:22 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:22 | 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: 09:33:22 | 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: 09:33:22 | 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: 09:33:22 | 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: 09:33:22 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:22 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:22 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:23 | 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: 09:33:23 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:23 | 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: 09:33:23 | 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: 09:33:23 | 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: 09:33:23 | 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: 09:33:23 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:23 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:23 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:24 | 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: 09:33:24 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:24 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:24 | 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: 09:33:25 | 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: 09:33:25 | 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: 09:33:25 | 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: 09:33:25 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:25 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:25 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:26 | 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: 09:33:26 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:26 | 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: 09:33:26 | 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: 09:33:26 | 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: 09:33:26 | 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: 09:33:26 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:26 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:26 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:27 | 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: 09:33:27 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:27 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:27 | 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: 09:33:27 | 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: 09:33:27 | 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: 09:33:27 | 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: 09:33:27 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:27 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:27 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:27 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:27 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:27 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:28 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:28 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:29 | 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: 09:33:29 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:29 | 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: 09:33:29 | 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: 09:33:29 | 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: 09:33:29 | 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: 09:33:29 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:29 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:29 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:30 | 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: 09:33:30 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:30 | 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: 09:33:30 | 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: 09:33:30 | 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: 09:33:30 | 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: 09:33:30 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:30 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:30 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:31 | 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: 09:33:31 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:31 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:31 | 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: 09:33:31 | 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: 09:33:31 | 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: 09:33:31 | 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: 09:33:31 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:31 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:31 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:31 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:31 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:31 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:32 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:32 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:33 | 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: 09:33:33 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:33 | 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: 09:33:33 | 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: 09:33:33 | 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: 09:33:33 | 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: 09:33:33 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:33 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:33 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:34 | 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: 09:33:34 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:34 | 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: 09:33:34 | 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: 09:33:34 | 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: 09:33:34 | 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: 09:33:34 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:34 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:34 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:35 | 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: 09:33:35 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:35 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:35 | 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: 09:33:36 | 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: 09:33:36 | 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: 09:33:36 | 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: 09:33:36 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:36 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:36 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:37 | 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: 09:33:37 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:37 | 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: 09:33:37 | 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: 09:33:37 | 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: 09:33:37 | 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: 09:33:37 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:37 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:37 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:38 | 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: 09:33:38 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:38 | 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: 09:33:38 | 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: 09:33:38 | 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: 09:33:38 | 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: 09:33:38 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:38 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:38 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:39 | 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: 09:33:39 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:39 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:39 | 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: 09:33:40 | 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: 09:33:40 | 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: 09:33:40 | 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: 09:33:40 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:40 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:40 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:41 | 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: 09:33:41 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:41 | 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: 09:33:41 | 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: 09:33:41 | 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: 09:33:41 | 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: 09:33:41 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:41 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:41 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:42 | 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: 09:33:42 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:42 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:42 | 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: 09:33:42 | 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: 09:33:42 | 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: 09:33:42 | 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: 09:33:42 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:42 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:42 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:42 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:42 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:42 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:43 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:43 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:44 | 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: 09:33:44 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:44 | 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: 09:33:44 | 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: 09:33:44 | 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: 09:33:44 | 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: 09:33:44 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:44 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:44 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:45 | 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: 09:33:45 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:45 | 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: 09:33:45 | 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: 09:33:45 | 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: 09:33:45 | 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: 09:33:45 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:45 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:45 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:46 | 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: 09:33:46 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:46 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:46 | 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: 09:33:47 | 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: 09:33:47 | 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: 09:33:47 | 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: 09:33:47 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:47 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:47 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:48 | 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: 09:33:48 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:48 | 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: 09:33:48 | 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: 09:33:48 | 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: 09:33:48 | 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: 09:33:48 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:48 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:48 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:49 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:49 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:50 | 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: 09:33:50 | 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: 09:33:50 | 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: 09:33:50 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:50 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:50 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:51 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:51 | 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: 09:33:51 | 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: 09:33:51 | 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: 09:33:51 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:51 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:51 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:52 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:52 | 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: 09:33:52 | 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: 09:33:52 | 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: 09:33:52 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:52 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:52 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:54 | 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: 09:33:54 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33:54 | 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: 09:33:54 | 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: 09:33:54 | 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: 09:33:54 | 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: 09:33:54 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:54 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:54 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:55 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:55 | 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: 09:33:55 | 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: 09:33:55 | 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: 09:33:55 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:55 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:55 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:56 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:56 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:56 | 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: 09:33:56 | 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: 09:33:56 | 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: 09:33:56 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:56 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:56 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:56 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:56 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:57 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:57 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:58 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:58 | 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: 09:33:58 | 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: 09:33:58 | 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: 09:33:58 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:58 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:58 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33: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: 09:33:59 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:33: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: 09:33:59 | 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: 09:33:59 | 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: 09:33:59 | 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: 09:33:59 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:33:59 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:33:59 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:01 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:01 | 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: 09:34:01 | 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: 09:34:01 | 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: 09:34:01 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:01 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:01 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:02 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:02 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:02 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:03 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:03 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:03 | 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: 09:34:03 | 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: 09:34:03 | 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: 09:34:03 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:03 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:03 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:03 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:03 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:03 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:04 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:04 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:05 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:05 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:05 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:06 | 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: 09:34:06 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:06 | 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: 09:34:06 | 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: 09:34:06 | 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: 09:34:06 | 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: 09:34:06 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:06 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:06 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:07 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:07 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:07 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:07 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:07 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:07 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:07 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:08 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:08 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:09 | 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: 09:34:09 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:09 | 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: 09:34:09 | 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: 09:34:09 | 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: 09:34:09 | 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: 09:34:09 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:09 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:09 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:10 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:10 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:10 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:12 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:12 | 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: 09:34:12 | 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: 09:34:12 | 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: 09:34:12 | 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: 09:34:12 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:12 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:12 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:13 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:13 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:13 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:14 | 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: 09:34:14 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:14 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:14 | 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: 09:34:14 | 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: 09:34:14 | 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: 09:34:14 | 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: 09:34:14 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:14 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:14 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:14 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:14 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:14 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:15 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:16 | 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: 09:34:16 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:16 | 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: 09:34:16 | 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: 09:34:16 | 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: 09:34:16 | 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: 09:34:16 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:16 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:16 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:17 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34: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: 09:34: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: 09:34: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: 09:34:17 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:17 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:17 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:18 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:18 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:19 | 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: 09:34:19 | 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: 09:34:19 | 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: 09:34:19 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:19 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:20 | 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: 09:34:20 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:20 | 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: 09:34:20 | 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: 09:34:20 | 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: 09:34:20 | 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: 09:34:20 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:20 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:20 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:21 | 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: 09:34:21 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:21 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:21 | 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: 09:34:22 | 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: 09:34:22 | 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: 09:34:22 | 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: 09:34:22 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:22 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:22 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:23 | 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: 09:34:23 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:23 | 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: 09:34:23 | 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: 09:34:23 | 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: 09:34:23 | 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: 09:34:23 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:23 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:23 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:24 | 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: 09:34:24 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:24 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:24 | 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: 09:34:25 | 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: 09:34:25 | 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: 09:34:25 | 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: 09:34:25 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:25 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:25 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:26 | 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: 09:34:26 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:26 | 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: 09:34:26 | 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: 09:34:26 | 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: 09:34:26 | 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: 09:34:26 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:26 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:26 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:27 | 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: 09:34:27 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:27 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:27 | 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: 09:34:28 | 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: 09:34:28 | 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: 09:34:28 | 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: 09:34:28 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:28 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:28 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:29 | 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: 09:34:29 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:29 | 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: 09:34:29 | 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: 09:34:29 | 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: 09:34:29 | 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: 09:34:29 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:29 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:29 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:30 | 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: 09:34:30 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:30 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:30 | 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: 09:34:30 | 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: 09:34:30 | 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: 09:34:30 | 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: 09:34:30 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:30 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:30 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:30 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:30 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:30 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:31 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:31 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:32 | 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: 09:34:32 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:32 | 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: 09:34:32 | 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: 09:34:32 | 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: 09:34:32 | 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: 09:34:32 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:32 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:32 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:33 | 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: 09:34:33 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:33 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:33 | 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: 09:34:33 | 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: 09:34:33 | 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: 09:34:33 | 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: 09:34:33 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:33 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:33 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:33 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:33 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:33 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:34 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:34 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:35 | 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: 09:34:35 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:35 | 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: 09:34:35 | 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: 09:34:35 | 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: 09:34:35 | 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: 09:34:35 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:35 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:35 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:36 | 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: 09:34:36 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:36 | 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: 09:34:36 | 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: 09:34:36 | 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: 09:34:36 | 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: 09:34:36 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:36 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:36 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:38 | 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: 09:34:38 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:38 | 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: 09:34:38 | 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: 09:34:38 | 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: 09:34:38 | 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: 09:34:38 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:38 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:38 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:39 | 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: 09:34:39 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:39 | 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: 09:34:39 | 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: 09:34:39 | 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: 09:34:39 | 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: 09:34:39 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:39 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:39 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:40 | 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: 09:34:40 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:40 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:40 | 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: 09:34:41 | 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: 09:34:41 | 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: 09:34:41 | 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: 09:34:41 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:41 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:41 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:42 | 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: 09:34:42 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:42 | 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: 09:34:42 | 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: 09:34:42 | 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: 09:34:42 | 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: 09:34:42 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:42 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:42 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:43 | 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: 09:34:43 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:43 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:43 | 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: 09:34:44 | 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: 09:34:44 | 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: 09:34:44 | 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: 09:34:44 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:44 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:44 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:45 | 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: 09:34:45 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:45 | 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: 09:34:45 | 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: 09:34:45 | 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: 09:34:45 | 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: 09:34:45 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:45 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:45 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:46 | 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: 09:34:46 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:46 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:46 | 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: 09:34:46 | 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: 09:34:46 | 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: 09:34:46 | 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: 09:34:46 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:46 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:46 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:46 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:46 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:46 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:47 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:47 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:48 | 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: 09:34:48 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34:48 | 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: 09:34:48 | 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: 09:34:48 | 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: 09:34:48 | 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: 09:34:48 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:48 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:48 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:49 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:49 | 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: 09:34:49 | 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: 09:34:49 | 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: 09:34:49 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:49 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:49 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:51 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:51 | 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: 09:34:51 | 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: 09:34:51 | 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: 09:34:51 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:51 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:51 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:52 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:52 | 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: 09:34:52 | 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: 09:34:52 | 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: 09:34:52 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:52 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:52 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:53 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:53 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:53 | 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: 09:34:53 | 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: 09:34:53 | 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: 09:34:53 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:53 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:53 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:53 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:53 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:53 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:54 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:54 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:55 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:55 | 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: 09:34:55 | 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: 09:34:55 | 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: 09:34:55 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:55 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:55 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:56 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:56 | 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: 09:34:56 | 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: 09:34:56 | 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: 09:34:56 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:56 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:56 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:57 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:57 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:58 | 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: 09:34:58 | 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: 09:34:58 | 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: 09:34:58 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:58 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:58 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34: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: 09:34:59 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:34: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: 09:34:59 | 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: 09:34:59 | 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: 09:34:59 | 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: 09:34:59 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:34:59 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:34:59 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:00 | 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: 09:35:00 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:00 | 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: 09:35:00 | 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: 09:35:00 | 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: 09:35:00 | 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: 09:35:00 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:00 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:00 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:01 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:01 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:02 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:02 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:02 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:03 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35:03 | 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: 09:35:03 | 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: 09:35:03 | 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: 09:35:03 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:03 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:03 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:04 | 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: 09:35:04 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:04 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:04 | 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: 09:35: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: 09:35: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: 09:35: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: 09:35:05 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:05 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:05 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:06 | 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: 09:35:06 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:06 | 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: 09:35:06 | 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: 09:35:06 | 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: 09:35:06 | 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: 09:35:06 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:06 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:06 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:07 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:07 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:08 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:08 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:08 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:09 | 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: 09:35:09 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:09 | 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: 09:35:09 | 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: 09:35:09 | 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: 09:35:09 | 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: 09:35:09 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:09 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:09 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:10 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:10 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:10 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:10 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:10 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:10 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:10 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:11 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:11 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:12 | 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: 09:35:12 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:12 | 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: 09:35:12 | 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: 09:35:12 | 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: 09:35:12 | 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: 09:35:12 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:12 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:12 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:13 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:13 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:13 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:13 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:15 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:15 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:15 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:15 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:16 | 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: 09:35:16 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:16 | 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: 09:35:16 | 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: 09:35:16 | 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: 09:35:16 | 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: 09:35:16 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:16 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:16 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35: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: 09:35:17 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:17 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35: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: 09:35: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: 09:35: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: 09:35: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: 09:35:18 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:18 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35: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 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:18 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:19 | 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: 09:35:19 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:19 | 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: 09:35:19 | 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: 09:35:19 | 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: 09:35:19 | 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: 09:35:19 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:19 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:19 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:20 | 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: 09:35:20 | glance_split/1-deploy_glance | + template=''{{ index .status.apiEndpoint "default-internal" }}{{ ":" }}{{ index .status.apiEndpoint "default-public" }}''' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + regex=''http:\/\/glance-default-internal.glance-kuttl-tests.*:http:\/\/glance-default-public.glance-kuttl-tests.*''' - ' logger.go:42: 09:35:20 | 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: 09:35:20 | 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: 09:35:20 | 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: 09:35:20 | 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: 09:35:20 | glance_split/1-deploy_glance | + matches=' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + ''['' -z '''' '']''' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | running command: [sh -c set -euxo pipefail' - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 1).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: 09:35:20 | glance_split/1-deploy_glance | + tupleTemplate=''{{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | ++ oc get -n openstack-operators deployment glance-operator-controller-manager -o ''go-template={{ range (index .spec.template.spec.containers 1).env }}{{ .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + imageTuples=OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | ++ echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + for ITEM in $(echo $imageTuples)' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + echo OPERATOR_CONDITION_NAME#glance-operator.v0.0.1' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + grep RELATED_IMAGE' - ' logger.go:42: 09:35:20 | glance_split/1-deploy_glance | + exit 0' - ' logger.go:42: 09:35:21 | glance_split/1-deploy_glance | test step failed 1-deploy_glance' - ' case.go:396: failed in step 1-deploy_glance' - ' case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-external-api' - ' +++ StatefulSet:glance-kuttl-tests/glance-default-external-api' - ' @@ -1,18 +1,47 @@' - ' apiVersion: apps/v1' - ' kind: StatefulSet' - ' metadata:' - ' + labels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-external' - ' + owner: glance-default-external' - ' + service: glance' - ' + managedFields: ''[... elided field over 10 lines long ...]''' - ' name: glance-default-external-api' - ' namespace: glance-kuttl-tests' - ' + ownerReferences:' - ' + - apiVersion: glance.openstack.org/v1beta1' - ' + blockOwnerDeletion: true' - ' + controller: true' - ' + kind: GlanceAPI' - ' + name: glance-default-external' - ' + uid: 4ccf9694-c9c0-422a-99d0-99fcb7845f7c' - ' spec:' - ' + persistentVolumeClaimRetentionPolicy:' - ' + whenDeleted: Retain' - ' + whenScaled: Retain' - ' + podManagementPolicy: Parallel' - ' replicas: 1' - ' + revisionHistoryLimit: 10' - ' selector:' - ' matchLabels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-external' - ' + owner: glance-default-external' - ' service: glance' - ' + serviceName: glance-default-external-api' - ' template:' - ' metadata:' - ' + annotations:' - ' + k8s.v1.cni.cncf.io/networks: ''[]''' - ' + creationTimestamp: null' - ' labels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-external' - ' + owner: glance-default-external' - ' service: glance' - ' spec:' - ' + affinity: ''[... elided field over 10 lines long ...]''' - ' containers:' - ' - args:' - ' - --single-child' - ' @@ -22,7 +51,62 @@' - ' - /usr/bin/tail -n+1 -F /var/log/glance/glance-default-external.log 2>/dev/null' - ' command:' - ' - /usr/bin/dumb-init' - ' + env:' - ' + - name: CONFIG_HASH' - ' + value: n64dh5c5h558h667h5bbh88h558h5f6h5dbh67ch646h668hcdh589h58h74h575hch78h66fhd7h554h5ch5b4h698h78h7bh5dch67bh55ch58h695q' - ' + - name: GLANCE_DOMAIN' - ' + value: glance-default-external-api.glance-kuttl-tests.svc' - ' + - name: KOLLA_CONFIG_STRATEGY' - ' + value: COPY_ALWAYS' - ' + - name: URISCHEME' - ' + value: HTTP' - ' + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' + imagePullPolicy: IfNotPresent' - ' + livenessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' name: glance-log' - ' + readinessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + resources: {}' - ' + securityContext:' - ' + allowPrivilegeEscalation: false' - ' + capabilities:' - ' + drop:' - ' + - ALL' - ' + runAsGroup: 42415' - ' + runAsNonRoot: true' - ' + runAsUser: 42415' - ' + seccompProfile:' - ' + type: RuntimeDefault' - ' + startupProbe:' - ' + exec:' - ' + command:' - ' + - /bin/true' - ' + failureThreshold: 6' - ' + periodSeconds: 10' - ' + successThreshold: 1' - ' + timeoutSeconds: 1' - ' + terminationMessagePath: /dev/termination-log' - ' + terminationMessagePolicy: File' - ' + volumeMounts:' - ' + - mountPath: /var/log/glance' - ' + name: logs' - ' - args:' - ' - --single-child' - ' - --' - ' @@ -31,10 +115,217 @@' - ' - /usr/local/bin/kolla_start' - ' command:' - ' - /usr/bin/dumb-init' - ' + env:' - ' + - name: CONFIG_HASH' - ' + value: n64dh5c5h558h667h5bbh88h558h5f6h5dbh67ch646h668hcdh589h58h74h575hch78h66fhd7h554h5ch5b4h698h78h7bh5dch67bh55ch58h695q' - ' + - name: GLANCE_DOMAIN' - ' + value: glance-default-external-api.glance-kuttl-tests.svc' - ' + - name: KOLLA_CONFIG_STRATEGY' - ' + value: COPY_ALWAYS' - ' + - name: URISCHEME' - ' + value: HTTP' - ' + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' + imagePullPolicy: IfNotPresent' - ' + livenessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' name: glance-httpd' - ' + readinessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + resources: {}' - ' + securityContext:' - ' + allowPrivilegeEscalation: true' - ' + capabilities:' - ' + drop:' - ' + - MKNOD' - ' + privileged: true' - ' + runAsGroup: 42415' - ' + runAsUser: 42415' - ' + seccompProfile:' - ' + type: RuntimeDefault' - ' + startupProbe:' - ' + exec:' - ' + command:' - ' + - /bin/true' - ' + failureThreshold: 6' - ' + periodSeconds: 10' - ' + successThreshold: 1' - ' + timeoutSeconds: 1' - ' + terminationMessagePath: /dev/termination-log' - ' + terminationMessagePolicy: File' - ' + volumeMounts:' - ' + - mountPath: /var/lib/config-data/default' - ' + name: config-data' - ' + readOnly: true' - ' + - mountPath: /etc/my.cnf' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: my.cnf' - ' + - mountPath: /var/lib/kolla/config_files/config.json' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: glance-httpd-config.json' - ' + - mountPath: /var/lib/glance' - ' + name: glance' - ' + - mountPath: /etc/iscsi' - ' + name: etc-iscsi' - ' + readOnly: true' - ' + - mountPath: /dev' - ' + name: dev' - ' + - mountPath: /lib/modules' - ' + name: lib-modules' - ' + readOnly: true' - ' + - mountPath: /run' - ' + name: run' - ' + - mountPath: /sys' - ' + name: sys' - ' + - mountPath: /var/locks/openstack/os-brick' - ' + name: var-locks-brick' - ' + - mountPath: /etc/nvme' - ' + name: etc-nvme' - ' + - mountPath: /var/log/glance' - ' + name: logs' - ' + - mountPath: /usr/local/bin/container-scripts' - ' + name: scripts' - ' + readOnly: true' - ' + - mountPath: /run/httpd' - ' + name: httpd-run' - ' + - mountPath: /var/lib/glance/image-cache' - ' + name: glance-cache' - ' + - args:' - ' + - --single-child' - ' + - --' - ' + - /bin/bash' - ' + - -c' - ' + - /usr/local/bin/kolla_start' - ' + command:' - ' + - /usr/bin/dumb-init' - ' + env:' - ' + - name: CONFIG_HASH' - ' + value: n64dh5c5h558h667h5bbh88h558h5f6h5dbh67ch646h668hcdh589h58h74h575hch78h66fhd7h554h5ch5b4h698h78h7bh5dch67bh55ch58h695q' - ' + - name: GLANCE_DOMAIN' - ' + value: glance-default-external-api.glance-kuttl-tests.svc' - ' + - name: KOLLA_CONFIG_STRATEGY' - ' + value: COPY_ALWAYS' - ' + - name: URISCHEME' - ' + value: HTTP' - ' + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' + imagePullPolicy: IfNotPresent' - ' + livenessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + name: glance-api' - ' + readinessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + resources: {}' - ' + securityContext:' - ' + allowPrivilegeEscalation: true' - ' + privileged: true' - ' + runAsUser: 42415' - ' + seccompProfile:' - ' + type: RuntimeDefault' - ' + startupProbe:' - ' + exec:' - ' + command:' - ' + - /bin/true' - ' + failureThreshold: 6' - ' + periodSeconds: 10' - ' + successThreshold: 1' - ' + timeoutSeconds: 1' - ' + terminationMessagePath: /dev/termination-log' - ' + terminationMessagePolicy: File' - ' + volumeMounts:' - ' + - mountPath: /var/lib/config-data/default' - ' + name: config-data' - ' + readOnly: true' - ' + - mountPath: /etc/my.cnf' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: my.cnf' - ' + - mountPath: /var/lib/kolla/config_files/config.json' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: glance-api-config.json' - ' + - mountPath: /var/lib/glance' - ' + name: glance' - ' + - mountPath: /etc/iscsi' - ' + name: etc-iscsi' - ' + readOnly: true' - ' + - mountPath: /dev' - ' + name: dev' - ' + - mountPath: /lib/modules' - ' + name: lib-modules' - ' + readOnly: true' - ' + - mountPath: /run' - ' + name: run' - ' + - mountPath: /sys' - ' + name: sys' - ' + - mountPath: /var/locks/openstack/os-brick' - ' + name: var-locks-brick' - ' + - mountPath: /etc/nvme' - ' + name: etc-nvme' - ' + - mountPath: /var/log/glance' - ' + name: logs' - ' + - mountPath: /usr/local/bin/container-scripts' - ' + name: scripts' - ' + readOnly: true' - ' + - mountPath: /run/httpd' - ' + name: httpd-run' - ' + - mountPath: /var/lib/glance/image-cache' - ' + name: glance-cache' - ' + dnsPolicy: ClusterFirst' - ' + hostPID: true' - ' + restartPolicy: Always' - ' + schedulerName: default-scheduler' - ' + securityContext:' - ' + fsGroup: 42415' - ' serviceAccount: glance-glance' - ' serviceAccountName: glance-glance' - ' + terminationGracePeriodSeconds: 30' - ' + volumes: ''[... elided field over 10 lines long ...]''' - ' + updateStrategy:' - ' + rollingUpdate:' - ' + partition: 0' - ' + type: RollingUpdate' - ' + volumeClaimTemplates: ''[... elided field over 10 lines long ...]''' - ' status:' - ' availableReplicas: 1' - ' + collisionCount: 0' - ' + currentReplicas: 1' - ' + currentRevision: glance-default-external-api-f7fd65695' - ' + observedGeneration: 4' - ' + readyReplicas: 1' - ' replicas: 1' - ' + updateRevision: glance-default-external-api-f7fd65695' - ' + updatedReplicas: 1' - ' ' - ' ' - ' case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-external-api: .spec.template.spec.containers: slice length mismatch: 2 != 3' - ' case.go:398: --- StatefulSet:glance-kuttl-tests/glance-default-internal-api' - ' +++ StatefulSet:glance-kuttl-tests/glance-default-internal-api' - ' @@ -1,18 +1,47 @@' - ' apiVersion: apps/v1' - ' kind: StatefulSet' - ' metadata:' - ' + labels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-internal' - ' + owner: glance-default-internal' - ' + service: glance' - ' + managedFields: ''[... elided field over 10 lines long ...]''' - ' name: glance-default-internal-api' - ' namespace: glance-kuttl-tests' - ' + ownerReferences:' - ' + - apiVersion: glance.openstack.org/v1beta1' - ' + blockOwnerDeletion: true' - ' + controller: true' - ' + kind: GlanceAPI' - ' + name: glance-default-internal' - ' + uid: d117af91-46d6-4896-a166-9aaa4e9e0b70' - ' spec:' - ' + persistentVolumeClaimRetentionPolicy:' - ' + whenDeleted: Retain' - ' + whenScaled: Retain' - ' + podManagementPolicy: Parallel' - ' replicas: 1' - ' + revisionHistoryLimit: 10' - ' selector:' - ' matchLabels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-internal' - ' + owner: glance-default-internal' - ' service: glance' - ' + serviceName: glance-default-internal-api' - ' template:' - ' metadata:' - ' + annotations:' - ' + k8s.v1.cni.cncf.io/networks: ''[]''' - ' + creationTimestamp: null' - ' labels:' - ' + component: glance-api' - ' + glanceAPI: glance-default-internal' - ' + owner: glance-default-internal' - ' service: glance' - ' spec:' - ' + affinity: ''[... elided field over 10 lines long ...]''' - ' containers:' - ' - args:' - ' - --single-child' - ' @@ -22,7 +51,62 @@' - ' - /usr/bin/tail -n+1 -F /var/log/glance/glance-default-internal.log 2>/dev/null' - ' command:' - ' - /usr/bin/dumb-init' - ' + env:' - ' + - name: CONFIG_HASH' - ' + value: n66dh576h65hb6hd5h9fh5f4hb9h699h5b8h78h55bh5b5h695h64fh67ch58dh59bh69hbdh599h657h76h675h56fh54h65h654h5cch699h85h89q' - ' + - name: GLANCE_DOMAIN' - ' + value: glance-default-internal-api.glance-kuttl-tests.svc' - ' + - name: KOLLA_CONFIG_STRATEGY' - ' + value: COPY_ALWAYS' - ' + - name: URISCHEME' - ' + value: HTTP' - ' + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' + imagePullPolicy: IfNotPresent' - ' + livenessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' name: glance-log' - ' + readinessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + resources: {}' - ' + securityContext:' - ' + allowPrivilegeEscalation: false' - ' + capabilities:' - ' + drop:' - ' + - ALL' - ' + runAsGroup: 42415' - ' + runAsNonRoot: true' - ' + runAsUser: 42415' - ' + seccompProfile:' - ' + type: RuntimeDefault' - ' + startupProbe:' - ' + exec:' - ' + command:' - ' + - /bin/true' - ' + failureThreshold: 6' - ' + periodSeconds: 10' - ' + successThreshold: 1' - ' + timeoutSeconds: 1' - ' + terminationMessagePath: /dev/termination-log' - ' + terminationMessagePolicy: File' - ' + volumeMounts:' - ' + - mountPath: /var/log/glance' - ' + name: logs' - ' - args:' - ' - --single-child' - ' - --' - ' @@ -31,10 +115,217 @@' - ' - /usr/local/bin/kolla_start' - ' command:' - ' - /usr/bin/dumb-init' - ' + env:' - ' + - name: CONFIG_HASH' - ' + value: n66dh576h65hb6hd5h9fh5f4hb9h699h5b8h78h55bh5b5h695h64fh67ch58dh59bh69hbdh599h657h76h675h56fh54h65h654h5cch699h85h89q' - ' + - name: GLANCE_DOMAIN' - ' + value: glance-default-internal-api.glance-kuttl-tests.svc' - ' + - name: KOLLA_CONFIG_STRATEGY' - ' + value: COPY_ALWAYS' - ' + - name: URISCHEME' - ' + value: HTTP' - ' + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' + imagePullPolicy: IfNotPresent' - ' + livenessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' name: glance-httpd' - ' + readinessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + resources: {}' - ' + securityContext:' - ' + allowPrivilegeEscalation: true' - ' + capabilities:' - ' + drop:' - ' + - MKNOD' - ' + privileged: true' - ' + runAsGroup: 42415' - ' + runAsUser: 42415' - ' + seccompProfile:' - ' + type: RuntimeDefault' - ' + startupProbe:' - ' + exec:' - ' + command:' - ' + - /bin/true' - ' + failureThreshold: 6' - ' + periodSeconds: 10' - ' + successThreshold: 1' - ' + timeoutSeconds: 1' - ' + terminationMessagePath: /dev/termination-log' - ' + terminationMessagePolicy: File' - ' + volumeMounts:' - ' + - mountPath: /var/lib/config-data/default' - ' + name: config-data' - ' + readOnly: true' - ' + - mountPath: /etc/my.cnf' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: my.cnf' - ' + - mountPath: /var/lib/kolla/config_files/config.json' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: glance-httpd-config.json' - ' + - mountPath: /var/lib/glance' - ' + name: glance' - ' + - mountPath: /etc/iscsi' - ' + name: etc-iscsi' - ' + readOnly: true' - ' + - mountPath: /dev' - ' + name: dev' - ' + - mountPath: /lib/modules' - ' + name: lib-modules' - ' + readOnly: true' - ' + - mountPath: /run' - ' + name: run' - ' + - mountPath: /sys' - ' + name: sys' - ' + - mountPath: /var/locks/openstack/os-brick' - ' + name: var-locks-brick' - ' + - mountPath: /etc/nvme' - ' + name: etc-nvme' - ' + - mountPath: /var/log/glance' - ' + name: logs' - ' + - mountPath: /usr/local/bin/container-scripts' - ' + name: scripts' - ' + readOnly: true' - ' + - mountPath: /run/httpd' - ' + name: httpd-run' - ' + - mountPath: /var/lib/glance/image-cache' - ' + name: glance-cache' - ' + - args:' - ' + - --single-child' - ' + - --' - ' + - /bin/bash' - ' + - -c' - ' + - /usr/local/bin/kolla_start' - ' + command:' - ' + - /usr/bin/dumb-init' - ' + env:' - ' + - name: CONFIG_HASH' - ' + value: n66dh576h65hb6hd5h9fh5f4hb9h699h5b8h78h55bh5b5h695h64fh67ch58dh59bh69hbdh599h657h76h675h56fh54h65h654h5cch699h85h89q' - ' + - name: GLANCE_DOMAIN' - ' + value: glance-default-internal-api.glance-kuttl-tests.svc' - ' + - name: KOLLA_CONFIG_STRATEGY' - ' + value: COPY_ALWAYS' - ' + - name: URISCHEME' - ' + value: HTTP' - ' + image: quay.io/podified-antelope-centos9/openstack-glance-api:current-podified' - ' + imagePullPolicy: IfNotPresent' - ' + livenessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + name: glance-api' - ' + readinessProbe:' - ' + failureThreshold: 3' - ' + httpGet:' - ' + path: /healthcheck' - ' + port: 9292' - ' + scheme: HTTP' - ' + initialDelaySeconds: 5' - ' + periodSeconds: 30' - ' + successThreshold: 1' - ' + timeoutSeconds: 30' - ' + resources: {}' - ' + securityContext:' - ' + allowPrivilegeEscalation: true' - ' + privileged: true' - ' + runAsUser: 42415' - ' + seccompProfile:' - ' + type: RuntimeDefault' - ' + startupProbe:' - ' + exec:' - ' + command:' - ' + - /bin/true' - ' + failureThreshold: 6' - ' + periodSeconds: 10' - ' + successThreshold: 1' - ' + timeoutSeconds: 1' - ' + terminationMessagePath: /dev/termination-log' - ' + terminationMessagePolicy: File' - ' + volumeMounts:' - ' + - mountPath: /var/lib/config-data/default' - ' + name: config-data' - ' + readOnly: true' - ' + - mountPath: /etc/my.cnf' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: my.cnf' - ' + - mountPath: /var/lib/kolla/config_files/config.json' - ' + name: config-data' - ' + readOnly: true' - ' + subPath: glance-api-config.json' - ' + - mountPath: /var/lib/glance' - ' + name: glance' - ' + - mountPath: /etc/iscsi' - ' + name: etc-iscsi' - ' + readOnly: true' - ' + - mountPath: /dev' - ' + name: dev' - ' + - mountPath: /lib/modules' - ' + name: lib-modules' - ' + readOnly: true' - ' + - mountPath: /run' - ' + name: run' - ' + - mountPath: /sys' - ' + name: sys' - ' + - mountPath: /var/locks/openstack/os-brick' - ' + name: var-locks-brick' - ' + - mountPath: /etc/nvme' - ' + name: etc-nvme' - ' + - mountPath: /var/log/glance' - ' + name: logs' - ' + - mountPath: /usr/local/bin/container-scripts' - ' + name: scripts' - ' + readOnly: true' - ' + - mountPath: /run/httpd' - ' + name: httpd-run' - ' + - mountPath: /var/lib/glance/image-cache' - ' + name: glance-cache' - ' + dnsPolicy: ClusterFirst' - ' + hostPID: true' - ' + restartPolicy: Always' - ' + schedulerName: default-scheduler' - ' + securityContext:' - ' + fsGroup: 42415' - ' serviceAccount: glance-glance' - ' serviceAccountName: glance-glance' - ' + terminationGracePeriodSeconds: 30' - ' + volumes: ''[... elided field over 10 lines long ...]''' - ' + updateStrategy:' - ' + rollingUpdate:' - ' + partition: 0' - ' + type: RollingUpdate' - ' + volumeClaimTemplates: ''[... elided field over 10 lines long ...]''' - ' status:' - ' availableReplicas: 1' - ' + collisionCount: 0' - ' + currentReplicas: 1' - ' + currentRevision: glance-default-internal-api-7469d598db' - ' + observedGeneration: 4' - ' + readyReplicas: 1' - ' replicas: 1' - ' + updateRevision: glance-default-internal-api-7469d598db' - ' + updatedReplicas: 1' - ' ' - ' ' - ' case.go:398: resource StatefulSet:glance-kuttl-tests/glance-default-internal-api: .spec.template.spec.containers: slice length mismatch: 2 != 3' - ' logger.go:42: 09:35:21 | glance_split | skipping kubernetes event logging' - === CONT kuttl/harness/glance_single - ' logger.go:42: 09:35:21 | glance_single | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 09:35:21 | glance_single/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 09:35:21 | glance_single/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/single | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 09:35:22 | glance_single/1-deploy_glance | The Glance "glance" is invalid: spec.glanceAPIs[default]: Invalid value: "default": The GlanceAPI layout (type) cannot be modified. To proceed, please add a new API with the desired layout and then decommission the previous API' - ' case.go:396: failed in step 1-deploy_glance' - ' case.go:398: command "oc kustomize ../../../../config/samples/layout/single | oc apply -n..." failed, exit status 1' - ' logger.go:42: 09:35:22 | glance_single | skipping kubernetes event logging' - === CONT kuttl/harness/glance_image_cache - ' logger.go:42: 09:35:22 | glance_image_cache | Skipping creation of user-supplied namespace: glance-kuttl-tests' - ' logger.go:42: 09:35:22 | glance_image_cache/1-deploy_glance | starting test step 1-deploy_glance' - ' logger.go:42: 09:35:22 | glance_image_cache/1-deploy_glance | running command: [sh -c oc kustomize ../../../../config/samples/layout/split | oc apply -n $NAMESPACE -f -' - ' ]' - ' logger.go:42: 09:35:23 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance unchanged' - ' logger.go:42: 09:35:23 | 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: 09:35:23 | glance_image_cache/1-deploy_glance | glance.glance.openstack.org/glance patched' - ' logger.go:42: 09:35:23 | 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: 09:35:23 | glance_image_cache/1-deploy_glance | configmap/openstack-scripts-9db6gc427h created' - ' logger.go:42: 09:35:23 | glance_image_cache/1-deploy_glance | pod/openstackclient created' - ' logger.go:42: 09:35:23 | glance_image_cache/1-deploy_glance | test step completed 1-deploy_glance' - ' logger.go:42: 09:35:23 | glance_image_cache/2-cache-image | starting test step 2-cache-image' - ' logger.go:42: 09:35:23 | 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: 09:35:43 | glance_image_cache/2-cache-image | + TIME=3' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + CACHE_TIME=6' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + DOMAIN=glance-default-external-api.glance-kuttl-tests.svc' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + REPLICA=glance-default-external-api-' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + IMAGE_NAME=myimage' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | ++ awk ''/auth_url/ {print $2}'' /etc/openstack/clouds.yaml' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + KEYSTONE=http://keystone-public.glance-kuttl-tests.svc:5000' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + ADMIN_PWD=12345678' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + ADMIN_USER=admin' - ' logger.go:42: 09:35:43 | 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: 09:35:43 | glance_image_cache/2-cache-image | + exec' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + echo This is a dodgy image' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + openstack image list -c ID -f value' - ' logger.go:42: 09:35:43 | glance_image_cache/2-cache-image | + xargs -n 1 openstack image delete' - ' logger.go:42: 09:35:47 | glance_image_cache/2-cache-image | usage: openstack image delete [-h] [ ...]' - ' logger.go:42: 09:35:47 | glance_image_cache/2-cache-image | openstack image delete: error: the following arguments are required: ' - ' logger.go:42: 09:35:47 | 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: 09:35:47 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 09:35:50 | glance_image_cache/2-cache-image | + CACHED_ID=' - ' logger.go:42: 09:35:50 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 09:35:50 | 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: 09:35:50 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host=''glance-default-external-api-1.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: 09:35:51 | glance_image_cache/2-cache-image | + CACHED_ID=' - ' logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | + echo ''Creating new image.''' - ' logger.go:42: 09:35:51 | glance_image_cache/2-cache-image | Creating new image.' - ' logger.go:42: 09:35:51 | 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: 09:35:54 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | Property | Value |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | checksum | 69bcebf29946998555945bfd562df6f0 |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | container_format | bare |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | created_at | 2025-10-01T09:35:52Z |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | disk_format | qcow2 |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | id | 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | min_disk | 0 |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | min_ram | 0 |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | name | myimage |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | os_hash_algo | sha512 |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | os_hash_value | 756138eda333dfdd93b80d8bae18b447fbab34462db0cc57df732b81e51015961e815e04c09b42da |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | | 7de16058d0fc34812d6ecc3496bd7519c395202e88705ccc |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | os_hidden | False |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | owner | e10dcd97f23c45a88975f1cf2640176a |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | protected | False |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | size | 22 |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | status | active |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | stores | default_backend |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | tags | [] |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | updated_at | 2025-10-01T09:35:54Z |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | virtual_size | Not available |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | | visibility | shared |' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | +------------------+----------------------------------------------------------------------------------+' - ' logger.go:42: 09:35:54 | glance_image_cache/2-cache-image | + sleep 3' - ' logger.go:42: 09:35: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 image-list' - ' logger.go:42: 09:35:57 | glance_image_cache/2-cache-image | ++ awk -v img=myimage ''$0 ~ img {print $2}''' - ' logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | Image ID: 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | + ID=7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | + echo ''Image ID: 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f''' - ' logger.go:42: 09:35:58 | glance_image_cache/2-cache-image | + sleep 3' - ' logger.go:42: 09:36:01 | 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 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:36:01 | glance_image_cache/2-cache-image | ++ awk ''/status/{print $4}''' - ' logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | Image Status => active' - ' logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | Caching image on replica 0' - ' logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + STATE=active' - ' logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + echo ''Image Status => active''' - ' logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + [[ active != \a\c\t\i\v\e ]]' - ' logger.go:42: 09:36:03 | glance_image_cache/2-cache-image | + echo ''Caching image on replica 0''' - ' logger.go:42: 09:36:03 | 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 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:36:05 | glance_image_cache/2-cache-image | + sleep 6' - ' logger.go:42: 09:36:11 | 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: 09:36:11 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + CACHED_ID=7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 0 => 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f''' - ' logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + [[ 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f != 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f ]]' - ' logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | + echo ''Verifying image is not cached on replica 1''' - ' logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 09:36:12 | 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: 09:36:12 | glance_image_cache/2-cache-image | Cached image id on replica 0 => 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:36:12 | glance_image_cache/2-cache-image | Verifying image is not cached on replica 1' - ' logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host=''glance-default-external-api-1.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: 09:36:13 | glance_image_cache/2-cache-image | + CACHED_ID_1=' - ' logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 1 => ''' - ' logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | + [[ '''' != '''' ]]' - ' logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | + echo ''Caching image on replica 1''' - ' logger.go:42: 09:36:13 | 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 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f' - ' logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | Cached image id on replica 1 => ' - ' logger.go:42: 09:36:13 | glance_image_cache/2-cache-image | Caching image on replica 1' - ' logger.go:42: 09:36:14 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host=''glance-default-external-api-1.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: 09:36:14 | glance_image_cache/2-cache-image | + sleep 6' - ' logger.go:42: 09:36:20 | glance_image_cache/2-cache-image | ++ awk -v state=cached ''$0 ~ state {print $2}''' - ' logger.go:42: 09:36:20 | 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: 09:36:21 | glance_image_cache/2-cache-image | Error finding address for http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: Unable to establish connection to http://glance-default-external-api-1.glance-default-external-api.glance-kuttl-tests.svc:9292/versions: HTTPConnectionPool(host=''glance-default-external-api-1.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: 09:36:21 | glance_image_cache/2-cache-image | Cached image id on replica 1 => ' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | Failed to cache image on replica 1, exiting!' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + CACHED_ID_2=' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + echo ''Cached image id on replica 1 => ''' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + [[ '''' != 7bcae3b6-2399-4e5c-a6b9-e545d2cd196f ]]' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + echo ''Failed to cache image on replica 1, exiting!''' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | + exit 1' - ' logger.go:42: 09:36:21 | glance_image_cache/2-cache-image | command terminated with exit code 1' - ' case.go:396: failed in step 2-cache-image' - ' case.go:398: command "sleep 20; oc -n $NAMESPACE exec -it openstackclient --stdin=false -..." failed, exit status 1' - ' logger.go:42: 09:36:21 | 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 (601.99s)' - ' --- FAIL: kuttl/harness (0.00s)' - ' --- PASS: kuttl/harness/glance_dist_image_import (90.65s)' - ' --- PASS: kuttl/harness/glance_single_tls (49.75s)' - ' --- FAIL: kuttl/harness/glance_split_proxypass (219.12s)' - ' --- FAIL: kuttl/harness/glance_split (182.50s)' - ' --- FAIL: kuttl/harness/glance_single (0.66s)' - ' --- FAIL: kuttl/harness/glance_image_cache (59.29s)' - FAIL - 'make[1]: *** [Makefile:2012: glance_kuttl_run] Error 1' - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' - 'make: *** [Makefile:2021: glance_kuttl] Error 2' 2025-10-01 09:36:22,328 p=28101 u=zuul n=ansible | ...ignoring 2025-10-01 09:36:22,380 p=28101 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-10-01 09:36:22,381 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:36:22 +0000 (0:16:39.371) 0:18:58.652 ***** 2025-10-01 09:36:22,396 p=28101 u=zuul n=ansible | fatal: [localhost]: FAILED! => msg: '''commands_after_kuttl_run'' is undefined. ''commands_after_kuttl_run'' is undefined' 2025-10-01 09:36:22,397 p=28101 u=zuul n=ansible | ...ignoring 2025-10-01 09:36:22,407 p=28101 u=zuul n=ansible | TASK [Find the generated JUnitXML files paths={{ cifmw_installyamls_repos }}, file_type=file, patterns=*.xml] *** 2025-10-01 09:36:22,408 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:36:22 +0000 (0:00:00.026) 0:18:58.679 ***** 2025-10-01 09:36:22,610 p=28101 u=zuul n=ansible | ok: [localhost] 2025-10-01 09:36:22,617 p=28101 u=zuul n=ansible | TASK [Create the test results directory path={{ _kuttl_test_result_dir }}, state=directory, mode=0755] *** 2025-10-01 09:36:22,617 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:36:22 +0000 (0:00:00.209) 0:18:58.888 ***** 2025-10-01 09:36:22,814 p=28101 u=zuul n=ansible | changed: [localhost] 2025-10-01 09:36:22,822 p=28101 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-10-01 09:36:22,822 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:36:22 +0000 (0:00:00.205) 0:18:59.093 ***** 2025-10-01 09:36:23,396 p=28101 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': 1959, 'inode': 83986239, 'dev': 64513, 'nlink': 1, 'atime': 1759311381.8584278, 'mtime': 1759311381.8584278, 'ctime': 1759311381.8584278, '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-10-01 09:36:23,406 p=28101 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-10-01 09:36:23,406 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:36:23 +0000 (0:00:00.583) 0:18:59.677 ***** 2025-10-01 09:36:23,459 p=28101 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-10-01 09:36:23,459 p=28101 u=zuul n=ansible | NO MORE HOSTS LEFT ************************************************************* 2025-10-01 09:36:23,461 p=28101 u=zuul n=ansible | PLAY RECAP ********************************************************************* 2025-10-01 09:36:23,461 p=28101 u=zuul n=ansible | localhost : ok=110 changed=50 unreachable=0 failed=1 skipped=58 rescued=0 ignored=5 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | Wednesday 01 October 2025 09:36:23 +0000 (0:00:00.055) 0:18:59.733 ***** 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | =============================================================================== 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | install_yamls_makes : Run glance_kuttl -------------------------------- 999.37s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | install_yamls_makes : Run download_tools ------------------------------- 34.21s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_setup : Install needed packages ------------------------------------- 27.32s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_local_storage : Remove the cifmw_cls_namespace namespace ------------ 10.85s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | repo_setup : Initialize python venv and install requirements ------------ 9.30s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_local_storage : Perform action in the PV directory ------------------- 5.55s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | install_yamls_makes : Run crc_attach_default_interface ------------------ 5.23s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_local_storage : Perform action in the PV directory ------------------- 5.15s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_setup : Install openshift client ------------------------------------- 5.12s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | openshift_setup : Create required namespaces ---------------------------- 1.63s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.52s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | repo_setup : Get repo-setup repository ---------------------------------- 1.43s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | install_ca : Update ca bundle ------------------------------------------- 1.40s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | ci_setup : Manage directories ------------------------------------------- 1.06s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | Gathering Facts --------------------------------------------------------- 1.01s 2025-10-01 09:36:23,462 p=28101 u=zuul n=ansible | repo_setup : Make sure git-core package is installed -------------------- 0.95s 2025-10-01 09:36:23,463 p=28101 u=zuul n=ansible | ci_local_storage : Fetch hostnames for all hosts ------------------------ 0.93s 2025-10-01 09:36:23,463 p=28101 u=zuul n=ansible | openshift_setup : Patch network operator -------------------------------- 0.91s 2025-10-01 09:36:23,463 p=28101 u=zuul n=ansible | openshift_setup : Gather network.operator info -------------------------- 0.85s 2025-10-01 09:36:23,463 p=28101 u=zuul n=ansible | ci_local_storage : Apply pv related storage manifest file --------------- 0.85s