home/zuul/zuul-output/ 0000755 0001750 0001750 00000000000 15111264247 014125 5 ustar zuul zuul home/zuul/zuul-output/logs/ 0000755 0001750 0001750 00000000000 15111267544 015074 5 ustar zuul zuul home/zuul/zuul-output/logs/ci-framework-data/ 0000755 0001750 0001750 00000000000 15111267536 020372 5 ustar zuul zuul home/zuul/zuul-output/logs/ci-framework-data/logs/ 0000755 0001750 0001750 00000000000 15111267525 021334 5 ustar zuul zuul home/zuul/zuul-output/logs/ci-framework-data/logs/openstack-must-gather/ 0000755 0001750 0001750 00000000000 15111267511 025554 5 ustar zuul zuul home/zuul/zuul-output/logs/ci-framework-data/logs/openstack-must-gather/must-gather.logs 0000644 0001750 0001750 00000004241 15111267474 030713 0 ustar zuul zuul [must-gather ] OUT 2025-11-25T08:56:27.066581187Z Using must-gather plug-in image: quay.io/openstack-k8s-operators/openstack-must-gather:latest
When opening a support case, bugzilla, or issue please include the following summary data along with any other requested information:
ClusterID:
ClientVersion: 4.20.4
ClusterVersion: Stable at "4.18.1"
ClusterOperators:
clusteroperator/kube-apiserver is progressing: NodeInstallerProgressing: 1 node is at revision 8; 0 nodes have achieved new revision 9
clusteroperator/machine-config is degraded because Failed to resync 4.18.1 because: error during syncRequiredMachineConfigPools: [context deadline exceeded, error MachineConfigPool master is not ready, retrying. Status: (pool degraded: true total: 1, ready 0, updated: 0, unavailable: 1)]
clusteroperator/cloud-credential is missing
clusteroperator/cluster-autoscaler is missing
clusteroperator/insights is missing
clusteroperator/monitoring is missing
clusteroperator/storage is missing
[must-gather ] OUT 2025-11-25T08:56:27.100984335Z namespace/openshift-must-gather-bjlnh created
[must-gather ] OUT 2025-11-25T08:56:27.106146338Z clusterrolebinding.rbac.authorization.k8s.io/must-gather-b9fmq created
[must-gather ] OUT 2025-11-25T08:56:28.811136863Z namespace/openshift-must-gather-bjlnh deleted
Reprinting Cluster State:
When opening a support case, bugzilla, or issue please include the following summary data along with any other requested information:
ClusterID:
ClientVersion: 4.20.4
ClusterVersion: Stable at "4.18.1"
ClusterOperators:
clusteroperator/kube-apiserver is progressing: NodeInstallerProgressing: 1 node is at revision 8; 0 nodes have achieved new revision 9
clusteroperator/machine-config is degraded because Failed to resync 4.18.1 because: error during syncRequiredMachineConfigPools: [context deadline exceeded, error MachineConfigPool master is not ready, retrying. Status: (pool degraded: true total: 1, ready 0, updated: 0, unavailable: 1)]
clusteroperator/cloud-credential is missing
clusteroperator/cluster-autoscaler is missing
clusteroperator/insights is missing
clusteroperator/monitoring is missing
clusteroperator/storage is missing
home/zuul/zuul-output/logs/ci-framework-data/logs/openstack-must-gather/timestamp 0000644 0001750 0001750 00000000156 15111267474 027514 0 ustar zuul zuul 2025-11-25 08:56:27.109401837 +0000 UTC m=+0.227909461
2025-11-25 08:56:28.806788509 +0000 UTC m=+1.925296133
home/zuul/zuul-output/logs/ci-framework-data/logs/openstack-must-gather/event-filter.html 0000644 0001750 0001750 00000006410 15111267474 031057 0 ustar zuul zuul
Events
Time
Namespace
Component
RelatedObject
Reason
Message
home/zuul/zuul-output/logs/ci-framework-data/logs/2025-11-25_08-56/ 0000775 0001750 0001750 00000000000 15111267526 023131 5 ustar zuul zuul home/zuul/zuul-output/logs/ci-framework-data/logs/2025-11-25_08-56/ansible.log 0000666 0001750 0001750 00005120000 15111267445 025251 0 ustar zuul zuul 2025-11-25 08:39:36,335 p=30595 u=zuul n=ansible | Starting galaxy collection install process
2025-11-25 08:39:36,336 p=30595 u=zuul n=ansible | Process install dependency map
2025-11-25 08:39:50,865 p=30595 u=zuul n=ansible | Starting collection install process
2025-11-25 08:39:50,865 p=30595 u=zuul n=ansible | Installing 'cifmw.general:1.0.0+8eeaca43' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general'
2025-11-25 08:39:51,404 p=30595 u=zuul n=ansible | Created collection for cifmw.general:1.0.0+8eeaca43 at /home/zuul/.ansible/collections/ansible_collections/cifmw/general
2025-11-25 08:39:51,404 p=30595 u=zuul n=ansible | cifmw.general:1.0.0+8eeaca43 was installed successfully
2025-11-25 08:39:51,404 p=30595 u=zuul n=ansible | Installing 'containers.podman:1.16.2' to '/home/zuul/.ansible/collections/ansible_collections/containers/podman'
2025-11-25 08:39:51,463 p=30595 u=zuul n=ansible | Created collection for containers.podman:1.16.2 at /home/zuul/.ansible/collections/ansible_collections/containers/podman
2025-11-25 08:39:51,464 p=30595 u=zuul n=ansible | containers.podman:1.16.2 was installed successfully
2025-11-25 08:39:51,464 p=30595 u=zuul n=ansible | Installing 'community.general:10.0.1' to '/home/zuul/.ansible/collections/ansible_collections/community/general'
2025-11-25 08:39:52,273 p=30595 u=zuul n=ansible | Created collection for community.general:10.0.1 at /home/zuul/.ansible/collections/ansible_collections/community/general
2025-11-25 08:39:52,273 p=30595 u=zuul n=ansible | community.general:10.0.1 was installed successfully
2025-11-25 08:39:52,273 p=30595 u=zuul n=ansible | Installing 'ansible.posix:1.6.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'
2025-11-25 08:39:52,323 p=30595 u=zuul n=ansible | Created collection for ansible.posix:1.6.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix
2025-11-25 08:39:52,323 p=30595 u=zuul n=ansible | ansible.posix:1.6.2 was installed successfully
2025-11-25 08:39:52,323 p=30595 u=zuul n=ansible | Installing 'ansible.utils:5.1.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/utils'
2025-11-25 08:39:52,429 p=30595 u=zuul n=ansible | Created collection for ansible.utils:5.1.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/utils
2025-11-25 08:39:52,429 p=30595 u=zuul n=ansible | ansible.utils:5.1.2 was installed successfully
2025-11-25 08:39:52,429 p=30595 u=zuul n=ansible | Installing 'community.libvirt:1.3.0' to '/home/zuul/.ansible/collections/ansible_collections/community/libvirt'
2025-11-25 08:39:52,456 p=30595 u=zuul n=ansible | Created collection for community.libvirt:1.3.0 at /home/zuul/.ansible/collections/ansible_collections/community/libvirt
2025-11-25 08:39:52,456 p=30595 u=zuul n=ansible | community.libvirt:1.3.0 was installed successfully
2025-11-25 08:39:52,457 p=30595 u=zuul n=ansible | Installing 'community.crypto:2.22.3' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'
2025-11-25 08:39:52,610 p=30595 u=zuul n=ansible | Created collection for community.crypto:2.22.3 at /home/zuul/.ansible/collections/ansible_collections/community/crypto
2025-11-25 08:39:52,610 p=30595 u=zuul n=ansible | community.crypto:2.22.3 was installed successfully
2025-11-25 08:39:52,611 p=30595 u=zuul n=ansible | Installing 'kubernetes.core:5.0.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'
2025-11-25 08:39:52,735 p=30595 u=zuul n=ansible | Created collection for kubernetes.core:5.0.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core
2025-11-25 08:39:52,735 p=30595 u=zuul n=ansible | kubernetes.core:5.0.0 was installed successfully
2025-11-25 08:39:52,736 p=30595 u=zuul n=ansible | Installing 'ansible.netcommon:7.1.0' to '/home/zuul/.ansible/collections/ansible_collections/ansible/netcommon'
2025-11-25 08:39:52,811 p=30595 u=zuul n=ansible | Created collection for ansible.netcommon:7.1.0 at /home/zuul/.ansible/collections/ansible_collections/ansible/netcommon
2025-11-25 08:39:52,811 p=30595 u=zuul n=ansible | ansible.netcommon:7.1.0 was installed successfully
2025-11-25 08:39:52,811 p=30595 u=zuul n=ansible | Installing 'openstack.config_template:2.1.1' to '/home/zuul/.ansible/collections/ansible_collections/openstack/config_template'
2025-11-25 08:39:52,829 p=30595 u=zuul n=ansible | Created collection for openstack.config_template:2.1.1 at /home/zuul/.ansible/collections/ansible_collections/openstack/config_template
2025-11-25 08:39:52,829 p=30595 u=zuul n=ansible | openstack.config_template:2.1.1 was installed successfully
2025-11-25 08:39:52,829 p=30595 u=zuul n=ansible | Installing 'junipernetworks.junos:9.1.0' to '/home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos'
2025-11-25 08:39:53,069 p=30595 u=zuul n=ansible | Created collection for junipernetworks.junos:9.1.0 at /home/zuul/.ansible/collections/ansible_collections/junipernetworks/junos
2025-11-25 08:39:53,069 p=30595 u=zuul n=ansible | junipernetworks.junos:9.1.0 was installed successfully
2025-11-25 08:39:53,069 p=30595 u=zuul n=ansible | Installing 'cisco.ios:9.0.3' to '/home/zuul/.ansible/collections/ansible_collections/cisco/ios'
2025-11-25 08:39:53,341 p=30595 u=zuul n=ansible | Created collection for cisco.ios:9.0.3 at /home/zuul/.ansible/collections/ansible_collections/cisco/ios
2025-11-25 08:39:53,341 p=30595 u=zuul n=ansible | cisco.ios:9.0.3 was installed successfully
2025-11-25 08:39:53,341 p=30595 u=zuul n=ansible | Installing 'mellanox.onyx:1.0.0' to '/home/zuul/.ansible/collections/ansible_collections/mellanox/onyx'
2025-11-25 08:39:53,374 p=30595 u=zuul n=ansible | Created collection for mellanox.onyx:1.0.0 at /home/zuul/.ansible/collections/ansible_collections/mellanox/onyx
2025-11-25 08:39:53,374 p=30595 u=zuul n=ansible | mellanox.onyx:1.0.0 was installed successfully
2025-11-25 08:39:53,374 p=30595 u=zuul n=ansible | Installing 'community.okd:4.0.0' to '/home/zuul/.ansible/collections/ansible_collections/community/okd'
2025-11-25 08:39:53,404 p=30595 u=zuul n=ansible | Created collection for community.okd:4.0.0 at /home/zuul/.ansible/collections/ansible_collections/community/okd
2025-11-25 08:39:53,404 p=30595 u=zuul n=ansible | community.okd:4.0.0 was installed successfully
2025-11-25 08:39:53,404 p=30595 u=zuul n=ansible | Installing '@NAMESPACE@.@NAME@:3.1.4' to '/home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@'
2025-11-25 08:39:53,499 p=30595 u=zuul n=ansible | Created collection for @NAMESPACE@.@NAME@:3.1.4 at /home/zuul/.ansible/collections/ansible_collections/@NAMESPACE@/@NAME@
2025-11-25 08:39:53,499 p=30595 u=zuul n=ansible | @NAMESPACE@.@NAME@:3.1.4 was installed successfully
2025-11-25 08:40:05,222 p=31436 u=zuul n=ansible | PLAY [Bootstrap playbook] ******************************************************
2025-11-25 08:40:05,241 p=31436 u=zuul n=ansible | TASK [Gathering Facts ] ********************************************************
2025-11-25 08:40:05,241 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:05 +0000 (0:00:00.037) 0:00:00.037 ******
2025-11-25 08:40:05,241 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:05 +0000 (0:00:00.035) 0:00:00.035 ******
2025-11-25 08:40:06,203 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:06,224 p=31436 u=zuul n=ansible | TASK [cifmw_setup : Set custom cifmw PATH reusable fact cifmw_path={{ ansible_user_dir }}/.crc/bin:{{ ansible_user_dir }}/.crc/bin/oc:{{ ansible_user_dir }}/bin:{{ ansible_env.PATH }}, cacheable=True] ***
2025-11-25 08:40:06,224 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.983) 0:00:01.021 ******
2025-11-25 08:40:06,224 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.983) 0:00:01.019 ******
2025-11-25 08:40:06,252 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:06,258 p=31436 u=zuul n=ansible | TASK [cifmw_setup : Get customized parameters ci_framework_params={{
hostvars[inventory_hostname] |
dict2items |
selectattr("key", "match",
"^(cifmw|pre|post)_(?!install_yamls|openshift_token|openshift_login|openshift_kubeconfig).*") |
list | items2dict
}}] ***
2025-11-25 08:40:06,258 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.034) 0:00:01.055 ******
2025-11-25 08:40:06,258 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.034) 0:00:01.053 ******
2025-11-25 08:40:06,309 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:06,317 p=31436 u=zuul n=ansible | TASK [install_ca : Ensure target directory exists path={{ cifmw_install_ca_trust_dir }}, state=directory, mode=0755] ***
2025-11-25 08:40:06,317 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.058) 0:00:01.114 ******
2025-11-25 08:40:06,317 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.058) 0:00:01.112 ******
2025-11-25 08:40:06,664 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:06,670 p=31436 u=zuul n=ansible | TASK [install_ca : Install internal CA from url url={{ cifmw_install_ca_url }}, dest={{ cifmw_install_ca_trust_dir }}, validate_certs={{ cifmw_install_ca_url_validate_certs | default(omit) }}, mode=0644] ***
2025-11-25 08:40:06,670 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.353) 0:00:01.467 ******
2025-11-25 08:40:06,671 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.353) 0:00:01.465 ******
2025-11-25 08:40:06,689 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:06,698 p=31436 u=zuul n=ansible | TASK [install_ca : Install custom CA bundle from inline dest={{ cifmw_install_ca_trust_dir }}/cifmw_inline_ca_bundle.crt, content={{ cifmw_install_ca_bundle_inline }}, mode=0644] ***
2025-11-25 08:40:06,699 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.028) 0:00:01.495 ******
2025-11-25 08:40:06,699 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.028) 0:00:01.493 ******
2025-11-25 08:40:06,718 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:06,725 p=31436 u=zuul n=ansible | TASK [install_ca : Install custom CA bundle from file dest={{ cifmw_install_ca_trust_dir }}/{{ cifmw_install_ca_bundle_src | basename }}, src={{ cifmw_install_ca_bundle_src }}, mode=0644] ***
2025-11-25 08:40:06,725 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.026) 0:00:01.522 ******
2025-11-25 08:40:06,726 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.026) 0:00:01.520 ******
2025-11-25 08:40:06,743 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:06,751 p=31436 u=zuul n=ansible | TASK [install_ca : Update ca bundle _raw_params=update-ca-trust] ***************
2025-11-25 08:40:06,751 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.025) 0:00:01.548 ******
2025-11-25 08:40:06,751 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:06 +0000 (0:00:00.025) 0:00:01.546 ******
2025-11-25 08:40:08,269 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:08,282 p=31436 u=zuul n=ansible | TASK [repo_setup : Ensure directories are present path={{ cifmw_repo_setup_basedir }}/{{ item }}, state=directory, mode=0755] ***
2025-11-25 08:40:08,283 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:08 +0000 (0:00:01.531) 0:00:03.079 ******
2025-11-25 08:40:08,283 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:08 +0000 (0:00:01.531) 0:00:03.077 ******
2025-11-25 08:40:08,478 p=31436 u=zuul n=ansible | changed: [localhost] => (item=tmp)
2025-11-25 08:40:08,653 p=31436 u=zuul n=ansible | changed: [localhost] => (item=artifacts/repositories)
2025-11-25 08:40:08,821 p=31436 u=zuul n=ansible | changed: [localhost] => (item=venv/repo_setup)
2025-11-25 08:40:08,831 p=31436 u=zuul n=ansible | TASK [repo_setup : Make sure git-core package is installed name=git-core, state=present] ***
2025-11-25 08:40:08,831 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:08 +0000 (0:00:00.548) 0:00:03.628 ******
2025-11-25 08:40:08,832 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:08 +0000 (0:00:00.548) 0:00:03.626 ******
2025-11-25 08:40:09,816 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:09,824 p=31436 u=zuul n=ansible | TASK [repo_setup : Get repo-setup repository accept_hostkey=True, dest={{ cifmw_repo_setup_basedir }}/tmp/repo-setup, repo={{ cifmw_repo_setup_src }}] ***
2025-11-25 08:40:09,824 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:09 +0000 (0:00:00.992) 0:00:04.620 ******
2025-11-25 08:40:09,824 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:09 +0000 (0:00:00.992) 0:00:04.618 ******
2025-11-25 08:40:10,943 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:10,950 p=31436 u=zuul n=ansible | TASK [repo_setup : Initialize python venv and install requirements virtualenv={{ cifmw_repo_setup_venv }}, requirements={{ cifmw_repo_setup_basedir }}/tmp/repo-setup/requirements.txt, virtualenv_command=python3 -m venv --system-site-packages --upgrade-deps] ***
2025-11-25 08:40:10,950 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:10 +0000 (0:00:01.126) 0:00:05.747 ******
2025-11-25 08:40:10,950 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:10 +0000 (0:00:01.126) 0:00:05.745 ******
2025-11-25 08:40:19,574 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:19,581 p=31436 u=zuul n=ansible | TASK [repo_setup : Install repo-setup package chdir={{ cifmw_repo_setup_basedir }}/tmp/repo-setup, creates={{ cifmw_repo_setup_venv }}/bin/repo-setup, _raw_params={{ cifmw_repo_setup_venv }}/bin/python setup.py install] ***
2025-11-25 08:40:19,581 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:19 +0000 (0:00:08.631) 0:00:14.378 ******
2025-11-25 08:40:19,581 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:19 +0000 (0:00:08.631) 0:00:14.376 ******
2025-11-25 08:40:20,427 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:20,434 p=31436 u=zuul n=ansible | TASK [repo_setup : Set cifmw_repo_setup_dlrn_hash_tag from content provider cifmw_repo_setup_dlrn_hash_tag={{ content_provider_dlrn_md5_hash }}] ***
2025-11-25 08:40:20,434 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.852) 0:00:15.231 ******
2025-11-25 08:40:20,434 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.852) 0:00:15.229 ******
2025-11-25 08:40:20,452 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:20,458 p=31436 u=zuul n=ansible | TASK [repo_setup : Run repo-setup _raw_params={{ cifmw_repo_setup_venv }}/bin/repo-setup {{ cifmw_repo_setup_promotion }} {{ cifmw_repo_setup_additional_repos }} -d {{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }} -b {{ cifmw_repo_setup_branch }} --rdo-mirror {{ cifmw_repo_setup_rdo_mirror }} {% if cifmw_repo_setup_dlrn_hash_tag | length > 0 %} --dlrn-hash-tag {{ cifmw_repo_setup_dlrn_hash_tag }} {% endif %} -o {{ cifmw_repo_setup_output }}] ***
2025-11-25 08:40:20,458 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.024) 0:00:15.255 ******
2025-11-25 08:40:20,459 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:20 +0000 (0:00:00.024) 0:00:15.253 ******
2025-11-25 08:40:21,074 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:21,081 p=31436 u=zuul n=ansible | TASK [repo_setup : Get component repo url={{ cifmw_repo_setup_dlrn_uri }}/{{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }}-{{ cifmw_repo_setup_branch }}/component/{{ cifmw_repo_setup_component_name }}/{{ cifmw_repo_setup_component_promotion_tag }}/delorean.repo, dest={{ cifmw_repo_setup_output }}/{{ cifmw_repo_setup_component_name }}_{{ cifmw_repo_setup_component_promotion_tag }}_delorean.repo, mode=0644] ***
2025-11-25 08:40:21,081 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.622) 0:00:15.878 ******
2025-11-25 08:40:21,081 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.622) 0:00:15.876 ******
2025-11-25 08:40:21,110 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:21,116 p=31436 u=zuul n=ansible | TASK [repo_setup : Rename component repo path={{ cifmw_repo_setup_output }}/{{ cifmw_repo_setup_component_name }}_{{ cifmw_repo_setup_component_promotion_tag }}_delorean.repo, regexp=delorean-component-{{ cifmw_repo_setup_component_name }}, replace={{ cifmw_repo_setup_component_name }}-{{ cifmw_repo_setup_component_promotion_tag }}] ***
2025-11-25 08:40:21,117 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.035) 0:00:15.913 ******
2025-11-25 08:40:21,117 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.035) 0:00:15.911 ******
2025-11-25 08:40:21,145 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:21,151 p=31436 u=zuul n=ansible | TASK [repo_setup : Disable component repo in current-podified dlrn repo path={{ cifmw_repo_setup_output }}/delorean.repo, section=delorean-component-{{ cifmw_repo_setup_component_name }}, option=enabled, value=0, mode=0644] ***
2025-11-25 08:40:21,151 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.034) 0:00:15.948 ******
2025-11-25 08:40:21,151 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.034) 0:00:15.946 ******
2025-11-25 08:40:21,180 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:21,188 p=31436 u=zuul n=ansible | TASK [repo_setup : Run repo-setup-get-hash _raw_params={{ cifmw_repo_setup_venv }}/bin/repo-setup-get-hash --dlrn-url {{ cifmw_repo_setup_dlrn_uri[:-1] }} --os-version {{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }} --release {{ cifmw_repo_setup_branch }} {% if cifmw_repo_setup_component_name | length > 0 -%} --component {{ cifmw_repo_setup_component_name }} --tag {{ cifmw_repo_setup_component_promotion_tag }} {% else -%} --tag {{cifmw_repo_setup_promotion }} {% endif -%} {% if (cifmw_repo_setup_dlrn_hash_tag | length > 0) and (cifmw_repo_setup_component_name | length <= 0) -%} --dlrn-hash-tag {{ cifmw_repo_setup_dlrn_hash_tag }} {% endif -%} --json] ***
2025-11-25 08:40:21,188 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.037) 0:00:15.985 ******
2025-11-25 08:40:21,188 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.037) 0:00:15.983 ******
2025-11-25 08:40:21,673 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:21,680 p=31436 u=zuul n=ansible | TASK [repo_setup : Dump full hash in delorean.repo.md5 file content={{ _repo_setup_json['full_hash'] }}
, dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] ***
2025-11-25 08:40:21,680 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.491) 0:00:16.477 ******
2025-11-25 08:40:21,680 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:21 +0000 (0:00:00.491) 0:00:16.475 ******
2025-11-25 08:40:22,356 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:22,362 p=31436 u=zuul n=ansible | TASK [repo_setup : Dump current-podified hash url={{ cifmw_repo_setup_dlrn_uri }}/{{ cifmw_repo_setup_os_release }}{{ cifmw_repo_setup_dist_major_version }}-{{ cifmw_repo_setup_branch }}/current-podified/delorean.repo.md5, dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] ***
2025-11-25 08:40:22,362 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.682) 0:00:17.159 ******
2025-11-25 08:40:22,362 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.682) 0:00:17.157 ******
2025-11-25 08:40:22,380 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,386 p=31436 u=zuul n=ansible | TASK [repo_setup : Slurp current podified hash src={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5] ***
2025-11-25 08:40:22,386 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.024) 0:00:17.183 ******
2025-11-25 08:40:22,387 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.024) 0:00:17.181 ******
2025-11-25 08:40:22,404 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,412 p=31436 u=zuul n=ansible | TASK [repo_setup : Update the value of full_hash _repo_setup_json={{ _repo_setup_json | combine({'full_hash': _hash}, recursive=true) }}] ***
2025-11-25 08:40:22,413 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.026) 0:00:17.209 ******
2025-11-25 08:40:22,413 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.026) 0:00:17.207 ******
2025-11-25 08:40:22,431 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,438 p=31436 u=zuul n=ansible | TASK [repo_setup : Export hashes facts for further use cifmw_repo_setup_full_hash={{ _repo_setup_json['full_hash'] }}, cifmw_repo_setup_commit_hash={{ _repo_setup_json['commit_hash'] }}, cifmw_repo_setup_distro_hash={{ _repo_setup_json['distro_hash'] }}, cifmw_repo_setup_extended_hash={{ _repo_setup_json['extended_hash'] }}, cifmw_repo_setup_dlrn_api_url={{ _repo_setup_json['dlrn_api_url'] }}, cifmw_repo_setup_dlrn_url={{ _repo_setup_json['dlrn_url'] }}, cifmw_repo_setup_release={{ _repo_setup_json['release'] }}, cacheable=True] ***
2025-11-25 08:40:22,438 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.025) 0:00:17.235 ******
2025-11-25 08:40:22,438 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.025) 0:00:17.233 ******
2025-11-25 08:40:22,465 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:22,470 p=31436 u=zuul n=ansible | TASK [repo_setup : Create download directory path={{ cifmw_repo_setup_rhos_release_path }}, state=directory, mode=0755] ***
2025-11-25 08:40:22,471 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.032) 0:00:17.267 ******
2025-11-25 08:40:22,471 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.032) 0:00:17.265 ******
2025-11-25 08:40:22,485 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,492 p=31436 u=zuul n=ansible | TASK [repo_setup : Print the URL to request msg={{ cifmw_repo_setup_rhos_release_rpm }}] ***
2025-11-25 08:40:22,492 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.289 ******
2025-11-25 08:40:22,492 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.287 ******
2025-11-25 08:40:22,506 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,513 p=31436 u=zuul n=ansible | TASK [Download the RPM name=krb_request] ***************************************
2025-11-25 08:40:22,513 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.310 ******
2025-11-25 08:40:22,513 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.308 ******
2025-11-25 08:40:22,527 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,536 p=31436 u=zuul n=ansible | TASK [repo_setup : Install RHOS Release tool name={{
cifmw_repo_setup_rhos_release_rpm
if cifmw_repo_setup_rhos_release_rpm is not url
else cifmw_krb_request_out.path
}}, state=present, disable_gpg_check={{ cifmw_repo_setup_rhos_release_gpg_check | bool }}] ***
2025-11-25 08:40:22,536 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.022) 0:00:17.332 ******
2025-11-25 08:40:22,536 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.022) 0:00:17.331 ******
2025-11-25 08:40:22,550 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,557 p=31436 u=zuul n=ansible | TASK [repo_setup : Get rhos-release tool version _raw_params=rhos-release --version] ***
2025-11-25 08:40:22,558 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.354 ******
2025-11-25 08:40:22,558 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.352 ******
2025-11-25 08:40:22,570 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,577 p=31436 u=zuul n=ansible | TASK [repo_setup : Print rhos-release tool version msg={{ rr_version.stdout }}] ***
2025-11-25 08:40:22,577 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.019) 0:00:17.374 ******
2025-11-25 08:40:22,577 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.019) 0:00:17.372 ******
2025-11-25 08:40:22,589 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,598 p=31436 u=zuul n=ansible | TASK [repo_setup : Generate repos using rhos-release {{ cifmw_repo_setup_rhos_release_args }} _raw_params=rhos-release {{ cifmw_repo_setup_rhos_release_args }} \
-t {{ cifmw_repo_setup_output }}] ***
2025-11-25 08:40:22,598 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.395 ******
2025-11-25 08:40:22,598 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.021) 0:00:17.393 ******
2025-11-25 08:40:22,613 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:22,619 p=31436 u=zuul n=ansible | TASK [repo_setup : Check for /etc/ci/mirror_info.sh path=/etc/ci/mirror_info.sh] ***
2025-11-25 08:40:22,619 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.416 ******
2025-11-25 08:40:22,619 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.020) 0:00:17.414 ******
2025-11-25 08:40:22,795 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:22,828 p=31436 u=zuul n=ansible | TASK [repo_setup : Use RDO proxy mirrors chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail
source /etc/ci/mirror_info.sh
sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" *.repo
] ***
2025-11-25 08:40:22,828 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.208) 0:00:17.625 ******
2025-11-25 08:40:22,828 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:22 +0000 (0:00:00.208) 0:00:17.623 ******
2025-11-25 08:40:23,058 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:23,066 p=31436 u=zuul n=ansible | TASK [repo_setup : Use RDO CentOS mirrors (remove CentOS 10 conditional when Nodepool mirrors exist) chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail
source /etc/ci/mirror_info.sh
sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" *.repo
] ***
2025-11-25 08:40:23,066 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.238) 0:00:17.863 ******
2025-11-25 08:40:23,066 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.238) 0:00:17.861 ******
2025-11-25 08:40:23,284 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:23,292 p=31436 u=zuul n=ansible | TASK [repo_setup : Check for gating.repo file on content provider url=http://{{ content_provider_registry_ip }}:8766/gating.repo] ***
2025-11-25 08:40:23,292 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.225) 0:00:18.089 ******
2025-11-25 08:40:23,292 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.226) 0:00:18.087 ******
2025-11-25 08:40:23,774 p=31436 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.129.56.231:8766/gating.repo
2025-11-25 08:40:23,774 p=31436 u=zuul n=ansible | ...ignoring
2025-11-25 08:40:23,781 p=31436 u=zuul n=ansible | TASK [repo_setup : Populate gating repo from content provider ip content=[gating-repo]
baseurl=http://{{ content_provider_registry_ip }}:8766/
enabled=1
gpgcheck=0
priority=1
, dest={{ cifmw_repo_setup_output }}/gating.repo, mode=0644] ***
2025-11-25 08:40:23,781 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.489) 0:00:18.578 ******
2025-11-25 08:40:23,781 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.488) 0:00:18.576 ******
2025-11-25 08:40:23,807 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:23,813 p=31436 u=zuul n=ansible | TASK [repo_setup : Check for DLRN repo at the destination path={{ cifmw_repo_setup_output }}/delorean.repo] ***
2025-11-25 08:40:23,813 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.609 ******
2025-11-25 08:40:23,813 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.607 ******
2025-11-25 08:40:23,837 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:23,844 p=31436 u=zuul n=ansible | TASK [repo_setup : Lower the priority of DLRN repos to allow installation from gating repo path={{ cifmw_repo_setup_output }}/delorean.repo, regexp=priority=1, replace=priority=20] ***
2025-11-25 08:40:23,844 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.641 ******
2025-11-25 08:40:23,844 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.639 ******
2025-11-25 08:40:23,868 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:23,874 p=31436 u=zuul n=ansible | TASK [repo_setup : Check for DLRN component repo path={{ cifmw_repo_setup_output }}/{{ _comp_repo }}] ***
2025-11-25 08:40:23,874 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.030) 0:00:18.671 ******
2025-11-25 08:40:23,875 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.030) 0:00:18.669 ******
2025-11-25 08:40:23,898 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:23,904 p=31436 u=zuul n=ansible | TASK [repo_setup : Lower the priority of componennt repos to allow installation from gating repo path={{ cifmw_repo_setup_output }}//{{ _comp_repo }}, regexp=priority=1, replace=priority=2] ***
2025-11-25 08:40:23,904 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.029) 0:00:18.701 ******
2025-11-25 08:40:23,904 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.029) 0:00:18.699 ******
2025-11-25 08:40:23,929 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:40:23,935 p=31436 u=zuul n=ansible | TASK [repo_setup : Find existing repos from /etc/yum.repos.d directory paths=/etc/yum.repos.d/, patterns=*.repo, recurse=False] ***
2025-11-25 08:40:23,935 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.732 ******
2025-11-25 08:40:23,935 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:23 +0000 (0:00:00.031) 0:00:18.730 ******
2025-11-25 08:40:24,196 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:24,203 p=31436 u=zuul n=ansible | TASK [repo_setup : Remove existing repos from /etc/yum.repos.d directory path={{ item }}, state=absent] ***
2025-11-25 08:40:24,203 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.267) 0:00:19.000 ******
2025-11-25 08:40:24,203 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.267) 0:00:18.998 ******
2025-11-25 08:40:24,426 p=31436 u=zuul n=ansible | changed: [localhost] => (item=/etc/yum.repos.d/centos-addons.repo)
2025-11-25 08:40:24,620 p=31436 u=zuul n=ansible | changed: [localhost] => (item=/etc/yum.repos.d/centos.repo)
2025-11-25 08:40:24,628 p=31436 u=zuul n=ansible | TASK [repo_setup : Cleanup existing metadata _raw_params=dnf clean metadata] ***
2025-11-25 08:40:24,628 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.424) 0:00:19.425 ******
2025-11-25 08:40:24,628 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:24 +0000 (0:00:00.424) 0:00:19.423 ******
2025-11-25 08:40:25,070 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:25,077 p=31436 u=zuul n=ansible | TASK [repo_setup : Copy generated repos to /etc/yum.repos.d directory mode=0755, remote_src=True, src={{ cifmw_repo_setup_output }}/, dest=/etc/yum.repos.d] ***
2025-11-25 08:40:25,077 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.449) 0:00:19.874 ******
2025-11-25 08:40:25,077 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.449) 0:00:19.872 ******
2025-11-25 08:40:25,366 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:25,378 p=31436 u=zuul n=ansible | TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] ***
2025-11-25 08:40:25,378 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.301) 0:00:20.175 ******
2025-11-25 08:40:25,379 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.301) 0:00:20.173 ******
2025-11-25 08:40:25,417 p=31436 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml)
2025-11-25 08:40:25,427 p=31436 u=zuul n=ansible | TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] *********
2025-11-25 08:40:25,427 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.048) 0:00:20.224 ******
2025-11-25 08:40:25,428 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.048) 0:00:20.222 ******
2025-11-25 08:40:25,444 p=31436 u=zuul n=ansible | ok: [localhost] =>
cifmw_ci_setup_packages:
- bash-completion
- ca-certificates
- git-core
- make
- tar
- tmux
- python3-pip
2025-11-25 08:40:25,452 p=31436 u=zuul n=ansible | TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] ***
2025-11-25 08:40:25,452 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.024) 0:00:20.248 ******
2025-11-25 08:40:25,452 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:25 +0000 (0:00:00.024) 0:00:20.246 ******
2025-11-25 08:40:55,234 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:55,242 p=31436 u=zuul n=ansible | TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] ***
2025-11-25 08:40:55,242 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:55 +0000 (0:00:29.790) 0:00:50.039 ******
2025-11-25 08:40:55,242 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:55 +0000 (0:00:29.790) 0:00:50.037 ******
2025-11-25 08:40:55,454 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:40:55,462 p=31436 u=zuul n=ansible | TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] ***
2025-11-25 08:40:55,462 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.219) 0:00:50.258 ******
2025-11-25 08:40:55,462 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.219) 0:00:50.256 ******
2025-11-25 08:40:55,676 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:40:55,684 p=31436 u=zuul n=ansible | TASK [ci_setup : Install openshift client src={{ cifmw_ci_setup_openshift_client_download_uri }}/{{ cifmw_ci_setup_openshift_client_version }}/openshift-client-linux.tar.gz, dest={{ cifmw_ci_setup_oc_install_path }}, remote_src=True, mode=0755, creates={{ cifmw_ci_setup_oc_install_path }}/oc] ***
2025-11-25 08:40:55,684 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.222) 0:00:50.481 ******
2025-11-25 08:40:55,684 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:40:55 +0000 (0:00:00.222) 0:00:50.479 ******
2025-11-25 08:41:01,062 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:01,069 p=31436 u=zuul n=ansible | TASK [ci_setup : Add the OC path to cifmw_path if needed cifmw_path={{ cifmw_ci_setup_oc_install_path }}:{{ ansible_env.PATH }}, cacheable=True] ***
2025-11-25 08:41:01,069 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:05.384) 0:00:55.865 ******
2025-11-25 08:41:01,069 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:05.384) 0:00:55.864 ******
2025-11-25 08:41:01,098 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,106 p=31436 u=zuul n=ansible | TASK [ci_setup : Create completion file] ***************************************
2025-11-25 08:41:01,106 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.036) 0:00:55.902 ******
2025-11-25 08:41:01,106 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.036) 0:00:55.900 ******
2025-11-25 08:41:01,394 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:01,402 p=31436 u=zuul n=ansible | TASK [ci_setup : Source completion from within .bashrc create=True, mode=0644, path={{ ansible_user_dir }}/.bashrc, block=if [ -f ~/.oc_completion ]; then
source ~/.oc_completion
fi] ***
2025-11-25 08:41:01,402 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.296) 0:00:56.199 ******
2025-11-25 08:41:01,402 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.296) 0:00:56.197 ******
2025-11-25 08:41:01,673 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:01,681 p=31436 u=zuul n=ansible | TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] ****
2025-11-25 08:41:01,681 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.278) 0:00:56.477 ******
2025-11-25 08:41:01,681 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.278) 0:00:56.476 ******
2025-11-25 08:41:01,695 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,703 p=31436 u=zuul n=ansible | TASK [ci_setup : Gather the repos to be enabled _repos={{
cifmw_ci_setup_rhel_rhsm_default_repos +
(cifmw_ci_setup_rhel_rhsm_extra_repos | default([]))
}}] ***
2025-11-25 08:41:01,703 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.499 ******
2025-11-25 08:41:01,703 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.497 ******
2025-11-25 08:41:01,716 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,723 p=31436 u=zuul n=ansible | TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] ***
2025-11-25 08:41:01,724 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.520 ******
2025-11-25 08:41:01,724 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.518 ******
2025-11-25 08:41:01,738 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,745 p=31436 u=zuul n=ansible | TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] ***
2025-11-25 08:41:01,745 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.542 ******
2025-11-25 08:41:01,745 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.021) 0:00:56.540 ******
2025-11-25 08:41:01,759 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,765 p=31436 u=zuul n=ansible | TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] ***
2025-11-25 08:41:01,765 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.562 ******
2025-11-25 08:41:01,766 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.560 ******
2025-11-25 08:41:01,780 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,786 p=31436 u=zuul n=ansible | TASK [ci_setup : Ensure the repos are enabled in the system using yum name={{ item.name }}, baseurl={{ item.baseurl }}, description={{ item.description | default(item.name) }}, gpgcheck={{ item.gpgcheck | default(false) }}, enabled=True, state={{ yum_repo_state | default('present') }}] ***
2025-11-25 08:41:01,786 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.583 ******
2025-11-25 08:41:01,786 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.020) 0:00:56.581 ******
2025-11-25 08:41:01,810 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:01,818 p=31436 u=zuul n=ansible | TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] ***
2025-11-25 08:41:01,819 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.032) 0:00:56.615 ******
2025-11-25 08:41:01,819 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:01 +0000 (0:00:00.032) 0:00:56.613 ******
2025-11-25 08:41:02,061 p=31436 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr)
2025-11-25 08:41:02,249 p=31436 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/logs)
2025-11-25 08:41:02,441 p=31436 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/tmp)
2025-11-25 08:41:02,633 p=31436 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes)
2025-11-25 08:41:02,832 p=31436 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters)
2025-11-25 08:41:02,845 p=31436 u=zuul n=ansible | TASK [Prepare install_yamls make targets name=install_yamls, apply={'tags': ['bootstrap']}] ***
2025-11-25 08:41:02,845 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:02 +0000 (0:00:01.026) 0:00:57.641 ******
2025-11-25 08:41:02,845 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:02 +0000 (0:00:01.026) 0:00:57.640 ******
2025-11-25 08:41:02,970 p=31436 u=zuul n=ansible | TASK [install_yamls : Ensure directories exist path={{ item }}, state=directory, mode=0755] ***
2025-11-25 08:41:02,970 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:02 +0000 (0:00:00.125) 0:00:57.767 ******
2025-11-25 08:41:02,970 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:02 +0000 (0:00:00.125) 0:00:57.765 ******
2025-11-25 08:41:03,155 p=31436 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts)
2025-11-25 08:41:03,334 p=31436 u=zuul n=ansible | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks)
2025-11-25 08:41:03,568 p=31436 u=zuul n=ansible | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters)
2025-11-25 08:41:03,576 p=31436 u=zuul n=ansible | TASK [Create variables with local repos based on Zuul items name=install_yamls, tasks_from=zuul_set_operators_repo.yml] ***
2025-11-25 08:41:03,577 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.606) 0:00:58.373 ******
2025-11-25 08:41:03,577 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.606) 0:00:58.371 ******
2025-11-25 08:41:03,612 p=31436 u=zuul n=ansible | TASK [install_yamls : Set fact with local repos based on Zuul items cifmw_install_yamls_operators_repo={{ cifmw_install_yamls_operators_repo | default({}) | combine(_repo_operator_info | items2dict) }}] ***
2025-11-25 08:41:03,612 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.035) 0:00:58.408 ******
2025-11-25 08:41:03,612 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.035) 0:00:58.407 ******
2025-11-25 08:41:03,661 p=31436 u=zuul n=ansible | ok: [localhost] => (item={'branch': 'main', 'change': '652', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/652', 'commit_id': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'patchset': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'project': {'canonical_hostname': 'github.com', 'canonical_name': 'github.com/openstack-k8s-operators/keystone-operator', 'name': 'openstack-k8s-operators/keystone-operator', 'short_name': 'keystone-operator', 'src_dir': 'src/github.com/openstack-k8s-operators/keystone-operator'}, 'topic': None})
2025-11-25 08:41:03,669 p=31436 u=zuul n=ansible | TASK [install_yamls : Print helpful data for debugging msg=_repo_operator_name: {{ _repo_operator_name }}
_repo_operator_info: {{ _repo_operator_info }}
cifmw_install_yamls_operators_repo: {{ cifmw_install_yamls_operators_repo }}
] ***
2025-11-25 08:41:03,669 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.057) 0:00:58.466 ******
2025-11-25 08:41:03,669 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.057) 0:00:58.464 ******
2025-11-25 08:41:03,712 p=31436 u=zuul n=ansible | ok: [localhost] => (item={'branch': 'main', 'change': '652', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/652', 'commit_id': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'patchset': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'project': {'canonical_hostname': 'github.com', 'canonical_name': 'github.com/openstack-k8s-operators/keystone-operator', 'name': 'openstack-k8s-operators/keystone-operator', 'short_name': 'keystone-operator', 'src_dir': 'src/github.com/openstack-k8s-operators/keystone-operator'}, 'topic': None}) =>
msg: |
_repo_operator_name: keystone
_repo_operator_info: [{'key': 'KEYSTONE_REPO', 'value': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator'}, {'key': 'KEYSTONE_BRANCH', 'value': ''}]
cifmw_install_yamls_operators_repo: {'KEYSTONE_REPO': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'KEYSTONE_BRANCH': ''}
2025-11-25 08:41:03,726 p=31436 u=zuul n=ansible | TASK [Customize install_yamls devsetup vars if needed name=install_yamls, tasks_from=customize_devsetup_vars.yml] ***
2025-11-25 08:41:03,726 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.056) 0:00:58.523 ******
2025-11-25 08:41:03,726 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.057) 0:00:58.521 ******
2025-11-25 08:41:03,767 p=31436 u=zuul n=ansible | TASK [install_yamls : Update opm_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^opm_version:, line=opm_version: {{ cifmw_install_yamls_opm_version }}, state=present] ***
2025-11-25 08:41:03,767 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.041) 0:00:58.564 ******
2025-11-25 08:41:03,768 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.041) 0:00:58.562 ******
2025-11-25 08:41:03,786 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:03,794 p=31436 u=zuul n=ansible | TASK [install_yamls : Update sdk_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^sdk_version:, line=sdk_version: {{ cifmw_install_yamls_sdk_version }}, state=present] ***
2025-11-25 08:41:03,794 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.591 ******
2025-11-25 08:41:03,794 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.589 ******
2025-11-25 08:41:03,815 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:03,821 p=31436 u=zuul n=ansible | TASK [install_yamls : Update go_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^go_version:, line=go_version: {{ cifmw_install_yamls_go_version }}, state=present] ***
2025-11-25 08:41:03,821 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.618 ******
2025-11-25 08:41:03,821 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.026) 0:00:58.616 ******
2025-11-25 08:41:03,840 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:03,847 p=31436 u=zuul n=ansible | TASK [install_yamls : Update kustomize_version in install_yamls devsetup/vars/default.yaml path={{ cifmw_install_yamls_repo }}/devsetup/vars/default.yaml, regexp=^kustomize_version:, line=kustomize_version: {{ cifmw_install_yamls_kustomize_version }}, state=present] ***
2025-11-25 08:41:03,847 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.025) 0:00:58.643 ******
2025-11-25 08:41:03,847 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.025) 0:00:58.642 ******
2025-11-25 08:41:03,865 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:03,876 p=31436 u=zuul n=ansible | TASK [install_yamls : Compute the cifmw_install_yamls_vars final value _install_yamls_override_vars={{
_install_yamls_override_vars | default({}) |
combine(item, recursive=True)
}}] ***
2025-11-25 08:41:03,877 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.029) 0:00:58.673 ******
2025-11-25 08:41:03,877 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.029) 0:00:58.671 ******
2025-11-25 08:41:03,932 p=31436 u=zuul n=ansible | ok: [localhost] => (item={'BMO_SETUP': False})
2025-11-25 08:41:03,941 p=31436 u=zuul n=ansible | TASK [install_yamls : Set environment override cifmw_install_yamls_environment fact cifmw_install_yamls_environment={{
_install_yamls_override_vars.keys() |
map('upper') |
zip(_install_yamls_override_vars.values()) |
items2dict(key_name=0, value_name=1) |
combine({
'OUT': cifmw_install_yamls_manifests_dir,
'OUTPUT_DIR': cifmw_install_yamls_edpm_dir,
'CHECKOUT_FROM_OPENSTACK_REF': cifmw_install_yamls_checkout_openstack_ref,
'OPENSTACK_K8S_BRANCH': (zuul is defined and not zuul.branch |regex_search('master|antelope|rhos')) | ternary(zuul.branch, 'main')
}) |
combine(install_yamls_operators_repos)
}}, cacheable=True] ***
2025-11-25 08:41:03,942 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.064) 0:00:58.738 ******
2025-11-25 08:41:03,942 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.065) 0:00:58.736 ******
2025-11-25 08:41:03,979 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:03,985 p=31436 u=zuul n=ansible | TASK [install_yamls : Get environment structure base_path={{ cifmw_install_yamls_repo }}] ***
2025-11-25 08:41:03,985 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.043) 0:00:58.782 ******
2025-11-25 08:41:03,985 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:03 +0000 (0:00:00.043) 0:00:58.780 ******
2025-11-25 08:41:04,480 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:04,487 p=31436 u=zuul n=ansible | TASK [install_yamls : Ensure Output directory exists path={{ cifmw_install_yamls_out_dir }}, state=directory, mode=0755] ***
2025-11-25 08:41:04,487 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.502) 0:00:59.284 ******
2025-11-25 08:41:04,487 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.502) 0:00:59.282 ******
2025-11-25 08:41:04,692 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:04,699 p=31436 u=zuul n=ansible | TASK [install_yamls : Ensure user cifmw_install_yamls_vars contains existing Makefile variables that=_cifmw_install_yamls_unmatched_vars | length == 0, msg=cifmw_install_yamls_vars contains a variable that is not defined in install_yamls Makefile nor cifmw_install_yamls_whitelisted_vars: {{ _cifmw_install_yamls_unmatched_vars | join(', ')}}, quiet=True] ***
2025-11-25 08:41:04,699 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.211) 0:00:59.496 ******
2025-11-25 08:41:04,699 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.211) 0:00:59.494 ******
2025-11-25 08:41:04,734 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:04,748 p=31436 u=zuul n=ansible | TASK [install_yamls : Generate /home/zuul/ci-framework-data/artifacts/install_yamls.sh dest={{ cifmw_install_yamls_out_dir }}/{{ cifmw_install_yamls_envfile }}, content={% for k,v in cifmw_install_yamls_environment.items() %}
export {{ k }}={{ v }}
{% endfor %}, mode=0644] ***
2025-11-25 08:41:04,748 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.048) 0:00:59.545 ******
2025-11-25 08:41:04,748 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:04 +0000 (0:00:00.048) 0:00:59.543 ******
2025-11-25 08:41:05,152 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:05,159 p=31436 u=zuul n=ansible | TASK [install_yamls : Set install_yamls default values cifmw_install_yamls_defaults={{ get_makefiles_env_output.makefiles_values | combine(cifmw_install_yamls_environment) }}, cacheable=True] ***
2025-11-25 08:41:05,160 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.411) 0:00:59.956 ******
2025-11-25 08:41:05,160 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.411) 0:00:59.954 ******
2025-11-25 08:41:05,182 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:05,189 p=31436 u=zuul n=ansible | TASK [install_yamls : Show the env structure var=cifmw_install_yamls_environment] ***
2025-11-25 08:41:05,189 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.029) 0:00:59.986 ******
2025-11-25 08:41:05,190 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.029) 0:00:59.984 ******
2025-11-25 08:41:05,205 p=31436 u=zuul n=ansible | ok: [localhost] =>
cifmw_install_yamls_environment:
BMO_SETUP: false
CHECKOUT_FROM_OPENSTACK_REF: 'true'
KEYSTONE_BRANCH: ''
KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator
OPENSTACK_K8S_BRANCH: main
OUT: /home/zuul/ci-framework-data/artifacts/manifests
OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm
2025-11-25 08:41:05,212 p=31436 u=zuul n=ansible | TASK [install_yamls : Show the env structure defaults var=cifmw_install_yamls_defaults] ***
2025-11-25 08:41:05,212 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.023) 0:01:00.009 ******
2025-11-25 08:41:05,213 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.023) 0:01:00.007 ******
2025-11-25 08:41:05,238 p=31436 u=zuul n=ansible | ok: [localhost] =>
cifmw_install_yamls_defaults:
ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24
ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24
ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24
ADOPTED_STORAGE_NETWORK: 172.18.1.0/24
ADOPTED_TENANT_NETWORK: 172.9.1.0/24
ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml
ANSIBLEEE_BRANCH: main
ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml
ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest
ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml
ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests
ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests
ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator
ANSIBLEE_COMMIT_HASH: ''
BARBICAN: config/samples/barbican_v1beta1_barbican.yaml
BARBICAN_BRANCH: main
BARBICAN_COMMIT_HASH: ''
BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml
BARBICAN_DEPL_IMG: unused
BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest
BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml
BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests
BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests
BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git
BARBICAN_SERVICE_ENABLED: 'true'
BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU=
BAREMETAL_BRANCH: main
BAREMETAL_COMMIT_HASH: ''
BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest
BAREMETAL_OS_CONTAINER_IMG: ''
BAREMETAL_OS_IMG: ''
BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git
BAREMETAL_TIMEOUT: 20m
BASH_IMG: quay.io/openstack-k8s-operators/bash:latest
BGP_ASN: '64999'
BGP_LEAF_1: 100.65.4.1
BGP_LEAF_2: 100.64.4.1
BGP_OVN_ROUTING: 'false'
BGP_PEER_ASN: '64999'
BGP_SOURCE_IP: 172.30.4.2
BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42
BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24
BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64
BMAAS_INSTANCE_DISK_SIZE: '20'
BMAAS_INSTANCE_MEMORY: '4096'
BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas
BMAAS_INSTANCE_NET_MODEL: virtio
BMAAS_INSTANCE_OS_VARIANT: centos-stream9
BMAAS_INSTANCE_VCPUS: '2'
BMAAS_INSTANCE_VIRT_TYPE: kvm
BMAAS_IPV4: 'true'
BMAAS_IPV6: 'false'
BMAAS_LIBVIRT_USER: sushyemu
BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26
BMAAS_METALLB_POOL_NAME: baremetal
BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24
BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64
BMAAS_NETWORK_NAME: crc-bmaas
BMAAS_NODE_COUNT: '1'
BMAAS_OCP_INSTANCE_NAME: crc
BMAAS_REDFISH_PASSWORD: password
BMAAS_REDFISH_USERNAME: admin
BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default
BMAAS_SUSHY_EMULATOR_DRIVER: libvirt
BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest
BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator
BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml
BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack
BMH_NAMESPACE: openstack
BMO_BRANCH: release-0.9
BMO_CLEANUP: 'true'
BMO_COMMIT_HASH: ''
BMO_IPA_BRANCH: stable/2024.1
BMO_IRONIC_HOST: 192.168.122.10
BMO_PROVISIONING_INTERFACE: ''
BMO_REPO: https://github.com/metal3-io/baremetal-operator
BMO_SETUP: false
BMO_SETUP_ROUTE_REPLACE: 'true'
BM_CTLPLANE_INTERFACE: enp1s0
BM_INSTANCE_MEMORY: '8192'
BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal
BM_INSTANCE_NAME_SUFFIX: '0'
BM_NETWORK_NAME: default
BM_NODE_COUNT: '1'
BM_ROOT_PASSWORD: ''
BM_ROOT_PASSWORD_SECRET: ''
CEILOMETER_CENTRAL_DEPL_IMG: unused
CEILOMETER_NOTIFICATION_DEPL_IMG: unused
CEPH_BRANCH: release-1.15
CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml
CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml
CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml
CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml
CEPH_IMG: quay.io/ceph/demo:latest-squid
CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml
CEPH_REPO: https://github.com/rook/rook.git
CERTMANAGER_TIMEOUT: 300s
CHECKOUT_FROM_OPENSTACK_REF: 'true'
CINDER: config/samples/cinder_v1beta1_cinder.yaml
CINDERAPI_DEPL_IMG: unused
CINDERBKP_DEPL_IMG: unused
CINDERSCH_DEPL_IMG: unused
CINDERVOL_DEPL_IMG: unused
CINDER_BRANCH: main
CINDER_COMMIT_HASH: ''
CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml
CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest
CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml
CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests
CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests
CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git
CLEANUP_DIR_CMD: rm -Rf
CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11'
CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12'
CRC_HTTPS_PROXY: ''
CRC_HTTP_PROXY: ''
CRC_STORAGE_NAMESPACE: crc-storage
CRC_STORAGE_RETRIES: '3'
CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz'''
CRC_VERSION: latest
DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret
DATAPLANE_ANSIBLE_USER: ''
DATAPLANE_COMPUTE_IP: 192.168.122.100
DATAPLANE_CONTAINER_PREFIX: openstack
DATAPLANE_CONTAINER_TAG: current-podified
DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest
DATAPLANE_DEFAULT_GW: 192.168.122.1
DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null
DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100%
DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned
DATAPLANE_NETWORKER_IP: 192.168.122.200
DATAPLANE_NETWORK_INTERFACE_NAME: eth0
DATAPLANE_NOVA_NFS_PATH: ''
DATAPLANE_NTP_SERVER: pool.ntp.org
DATAPLANE_PLAYBOOK: osp.edpm.download_cache
DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9
DATAPLANE_RUNNER_IMG: ''
DATAPLANE_SERVER_ROLE: compute
DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']'
DATAPLANE_TIMEOUT: 30m
DATAPLANE_TLS_ENABLED: 'true'
DATAPLANE_TOTAL_NETWORKER_NODES: '1'
DATAPLANE_TOTAL_NODES: '1'
DBSERVICE: galera
DESIGNATE: config/samples/designate_v1beta1_designate.yaml
DESIGNATE_BRANCH: main
DESIGNATE_COMMIT_HASH: ''
DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml
DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest
DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml
DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests
DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests
DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git
DNSDATA: config/samples/network_v1beta1_dnsdata.yaml
DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml
DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml
DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml
DNS_DEPL_IMG: unused
DNS_DOMAIN: localdomain
DOWNLOAD_TOOLS_SELECTION: all
EDPM_ATTACH_EXTNET: 'true'
EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]'''
EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]'''
EDPM_COMPUTE_CELLS: '1'
EDPM_COMPUTE_CEPH_ENABLED: 'true'
EDPM_COMPUTE_CEPH_NOVA: 'true'
EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true'
EDPM_COMPUTE_SRIOV_ENABLED: 'true'
EDPM_COMPUTE_SUFFIX: '0'
EDPM_CONFIGURE_DEFAULT_ROUTE: 'true'
EDPM_CONFIGURE_HUGEPAGES: 'false'
EDPM_CONFIGURE_NETWORKING: 'true'
EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra
EDPM_NETWORKER_SUFFIX: '0'
EDPM_TOTAL_NETWORKERS: '1'
EDPM_TOTAL_NODES: '1'
GALERA_REPLICAS: ''
GENERATE_SSH_KEYS: 'true'
GIT_CLONE_OPTS: ''
GLANCE: config/samples/glance_v1beta1_glance.yaml
GLANCEAPI_DEPL_IMG: unused
GLANCE_BRANCH: main
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: https://github.com/openstack-k8s-operators/glance-operator.git
HEAT: config/samples/heat_v1beta1_heat.yaml
HEATAPI_DEPL_IMG: unused
HEATCFNAPI_DEPL_IMG: unused
HEATENGINE_DEPL_IMG: unused
HEAT_AUTH_ENCRYPTION_KEY: 767c3ed056cbaa3b9dfedb8c6f825bf0
HEAT_BRANCH: main
HEAT_COMMIT_HASH: ''
HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml
HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest
HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml
HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests
HEAT_KUTTL_NAMESPACE: heat-kuttl-tests
HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git
HEAT_SERVICE_ENABLED: 'true'
HORIZON: config/samples/horizon_v1beta1_horizon.yaml
HORIZON_BRANCH: main
HORIZON_COMMIT_HASH: ''
HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml
HORIZON_DEPL_IMG: unused
HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest
HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml
HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests
HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests
HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git
INFRA_BRANCH: main
INFRA_COMMIT_HASH: ''
INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest
INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml
INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests
INFRA_KUTTL_NAMESPACE: infra-kuttl-tests
INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git
INSTALL_CERT_MANAGER: 'true'
INSTALL_NMSTATE: true || false
INSTALL_NNCP: true || false
INTERNALAPI_HOST_ROUTES: ''
IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24
IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64
IPV6_LAB_LIBVIRT_STORAGE_POOL: default
IPV6_LAB_MANAGE_FIREWALLD: 'true'
IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24
IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64
IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router
IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64
IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24
IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1
IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3
IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96
IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false'
IPV6_LAB_NETWORK_NAME: nat64
IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48
IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11
IPV6_LAB_SNO_HOST_PREFIX: '64'
IPV6_LAB_SNO_INSTANCE_NAME: sno
IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64
IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp
IPV6_LAB_SNO_OCP_VERSION: latest-4.14
IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112
IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub
IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab
IRONIC: config/samples/ironic_v1beta1_ironic.yaml
IRONICAPI_DEPL_IMG: unused
IRONICCON_DEPL_IMG: unused
IRONICINS_DEPL_IMG: unused
IRONICNAG_DEPL_IMG: unused
IRONICPXE_DEPL_IMG: unused
IRONIC_BRANCH: main
IRONIC_COMMIT_HASH: ''
IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml
IRONIC_IMAGE_TAG: release-24.1
IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest
IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml
IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests
IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests
IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git
KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml
KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml
KEYSTONEAPI_DEPL_IMG: unused
KEYSTONE_BRANCH: ''
KEYSTONE_COMMIT_HASH: ''
KEYSTONE_FEDERATION_CLIENT_SECRET: COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f
KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack
KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest
KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml
KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests
KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests
KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator
KUBEADMIN_PWD: '12345678'
LIBVIRT_SECRET: libvirt-secret
LOKI_DEPLOY_MODE: openshift-network
LOKI_DEPLOY_NAMESPACE: netobserv
LOKI_DEPLOY_SIZE: 1x.demo
LOKI_NAMESPACE: openshift-operators-redhat
LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki
LOKI_SUBSCRIPTION: loki-operator
LVMS_CR: '1'
MANILA: config/samples/manila_v1beta1_manila.yaml
MANILAAPI_DEPL_IMG: unused
MANILASCH_DEPL_IMG: unused
MANILASHARE_DEPL_IMG: unused
MANILA_BRANCH: main
MANILA_COMMIT_HASH: ''
MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml
MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest
MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml
MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests
MANILA_KUTTL_NAMESPACE: manila-kuttl-tests
MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git
MANILA_SERVICE_ENABLED: 'true'
MARIADB: config/samples/mariadb_v1beta1_galera.yaml
MARIADB_BRANCH: main
MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml
MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests
MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests
MARIADB_COMMIT_HASH: ''
MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml
MARIADB_DEPL_IMG: unused
MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest
MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml
MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests
MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests
MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git
MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml
MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml
MEMCACHED_DEPL_IMG: unused
METADATA_SHARED_SECRET: '1234567842'
METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90
METALLB_POOL: 192.168.122.80-192.168.122.90
MICROSHIFT: '0'
NAMESPACE: openstack
NETCONFIG: config/samples/network_v1beta1_netconfig.yaml
NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml
NETCONFIG_DEPL_IMG: unused
NETOBSERV_DEPLOY_NAMESPACE: netobserv
NETOBSERV_NAMESPACE: openshift-netobserv-operator
NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net
NETOBSERV_SUBSCRIPTION: netobserv-operator
NETWORK_BGP: 'false'
NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0
NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0
NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0
NETWORK_ISOLATION: 'true'
NETWORK_ISOLATION_INSTANCE_NAME: crc
NETWORK_ISOLATION_IPV4: 'true'
NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24
NETWORK_ISOLATION_IPV4_NAT: 'true'
NETWORK_ISOLATION_IPV6: 'false'
NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64
NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10
NETWORK_ISOLATION_MAC: '52:54:00:11:11:10'
NETWORK_ISOLATION_NETWORK_NAME: net-iso
NETWORK_ISOLATION_NET_NAME: default
NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true'
NETWORK_MTU: '1500'
NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0
NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0
NETWORK_STORAGE_MACVLAN: ''
NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0
NETWORK_VLAN_START: '20'
NETWORK_VLAN_STEP: '1'
NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml
NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml
NEUTRONAPI_DEPL_IMG: unused
NEUTRON_BRANCH: main
NEUTRON_COMMIT_HASH: ''
NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest
NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml
NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests
NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests
NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git
NFS_HOME: /home/nfs
NMSTATE_NAMESPACE: openshift-nmstate
NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8
NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator
NNCP_ADDITIONAL_HOST_ROUTES: ''
NNCP_BGP_1_INTERFACE: enp7s0
NNCP_BGP_1_IP_ADDRESS: 100.65.4.2
NNCP_BGP_2_INTERFACE: enp8s0
NNCP_BGP_2_IP_ADDRESS: 100.64.4.2
NNCP_BRIDGE: ospbr
NNCP_CLEANUP_TIMEOUT: 120s
NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::'
NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10'
NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122
NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10'
NNCP_DNS_SERVER: 192.168.122.1
NNCP_DNS_SERVER_IPV6: fd00:aaaa::1
NNCP_GATEWAY: 192.168.122.1
NNCP_GATEWAY_IPV6: fd00:aaaa::1
NNCP_INTERFACE: enp6s0
NNCP_NODES: ''
NNCP_TIMEOUT: 240s
NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml
NOVA_BRANCH: main
NOVA_COMMIT_HASH: ''
NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml
NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest
NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git
NUMBER_OF_INSTANCES: '1'
OCP_NETWORK_NAME: crc
OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml
OCTAVIA_BRANCH: main
OCTAVIA_COMMIT_HASH: ''
OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml
OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest
OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml
OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests
OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests
OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git
OKD: 'false'
OPENSTACK_BRANCH: main
OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest
OPENSTACK_COMMIT_HASH: ''
OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml
OPENSTACK_CRDS_DIR: openstack_crds
OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml
OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest
OPENSTACK_K8S_BRANCH: main
OPENSTACK_K8S_TAG: latest
OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml
OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests
OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests
OPENSTACK_NEUTRON_CUSTOM_CONF: ''
OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git
OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest
OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator
OPERATOR_CHANNEL: ''
OPERATOR_NAMESPACE: openstack-operators
OPERATOR_SOURCE: ''
OPERATOR_SOURCE_NAMESPACE: ''
OUT: /home/zuul/ci-framework-data/artifacts/manifests
OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm
OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml
OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml
OVNCONTROLLER_NMAP: 'true'
OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml
OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml
OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml
OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml
OVN_BRANCH: main
OVN_COMMIT_HASH: ''
OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest
OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml
OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests
OVN_KUTTL_NAMESPACE: ovn-kuttl-tests
OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git
PASSWORD: '12345678'
PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml
PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml
PLACEMENTAPI_DEPL_IMG: unused
PLACEMENT_BRANCH: main
PLACEMENT_COMMIT_HASH: ''
PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest
PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml
PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests
PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests
PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git
PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt
RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml
RABBITMQ_BRANCH: patches
RABBITMQ_COMMIT_HASH: ''
RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml
RABBITMQ_DEPL_IMG: unused
RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest
RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git
REDHAT_OPERATORS: 'false'
REDIS: config/samples/redis_v1beta1_redis.yaml
REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml
REDIS_DEPL_IMG: unused
RH_REGISTRY_PWD: ''
RH_REGISTRY_USER: ''
SECRET: osp-secret
SG_CORE_DEPL_IMG: unused
STANDALONE_COMPUTE_DRIVER: libvirt
STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0
STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0
STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0
STANDALONE_STORAGE_NET_PREFIX: 172.18.0
STANDALONE_TENANT_NET_PREFIX: 172.19.0
STORAGEMGMT_HOST_ROUTES: ''
STORAGE_CLASS: local-storage
STORAGE_HOST_ROUTES: ''
SWIFT: config/samples/swift_v1beta1_swift.yaml
SWIFT_BRANCH: main
SWIFT_COMMIT_HASH: ''
SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml
SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest
SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml
SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests
SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests
SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git
TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml
TELEMETRY_BRANCH: main
TELEMETRY_COMMIT_HASH: ''
TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml
TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest
TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator
TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml
TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites
TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests
TELEMETRY_KUTTL_RELPATH: test/kuttl/suites
TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git
TENANT_HOST_ROUTES: ''
TIMEOUT: 300s
TLS_ENABLED: 'false'
tripleo_deploy: 'export REGISTRY_PWD:'
2025-11-25 08:41:05,246 p=31436 u=zuul n=ansible | TASK [install_yamls : Generate make targets install_yamls_path={{ cifmw_install_yamls_repo }}, output_directory={{ cifmw_install_yamls_tasks_out }}] ***
2025-11-25 08:41:05,246 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.033) 0:01:00.043 ******
2025-11-25 08:41:05,246 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.033) 0:01:00.041 ******
2025-11-25 08:41:05,568 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:05,576 p=31436 u=zuul n=ansible | TASK [install_yamls : Debug generate_make module var=cifmw_generate_makes] *****
2025-11-25 08:41:05,576 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.329) 0:01:00.373 ******
2025-11-25 08:41:05,576 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.330) 0:01:00.371 ******
2025-11-25 08:41:05,596 p=31436 u=zuul n=ansible | ok: [localhost] =>
cifmw_generate_makes:
changed: false
debug:
/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile:
- all
- help
- cleanup
- deploy_cleanup
- wait
- crc_storage
- crc_storage_cleanup
- crc_storage_release
- crc_storage_with_retries
- crc_storage_cleanup_with_retries
- operator_namespace
- namespace
- namespace_cleanup
- input
- input_cleanup
- crc_bmo_setup
- crc_bmo_cleanup
- openstack_prep
- openstack
- openstack_wait
- openstack_init
- openstack_cleanup
- openstack_repo
- openstack_deploy_prep
- openstack_deploy
- openstack_wait_deploy
- openstack_deploy_cleanup
- openstack_update_run
- update_services
- update_system
- openstack_patch_version
- edpm_deploy_generate_keys
- edpm_patch_ansible_runner_image
- edpm_deploy_prep
- edpm_deploy_cleanup
- edpm_deploy
- edpm_deploy_baremetal_prep
- edpm_deploy_baremetal
- edpm_wait_deploy_baremetal
- edpm_wait_deploy
- edpm_register_dns
- edpm_nova_discover_hosts
- openstack_crds
- openstack_crds_cleanup
- edpm_deploy_networker_prep
- edpm_deploy_networker_cleanup
- edpm_deploy_networker
- infra_prep
- infra
- infra_cleanup
- dns_deploy_prep
- dns_deploy
- dns_deploy_cleanup
- netconfig_deploy_prep
- netconfig_deploy
- netconfig_deploy_cleanup
- memcached_deploy_prep
- memcached_deploy
- memcached_deploy_cleanup
- keystone_prep
- keystone
- keystone_cleanup
- keystone_deploy_prep
- keystone_deploy
- keystone_deploy_cleanup
- barbican_prep
- barbican
- barbican_cleanup
- barbican_deploy_prep
- barbican_deploy
- barbican_deploy_validate
- barbican_deploy_cleanup
- mariadb
- mariadb_cleanup
- mariadb_deploy_prep
- mariadb_deploy
- mariadb_deploy_cleanup
- placement_prep
- placement
- placement_cleanup
- placement_deploy_prep
- placement_deploy
- placement_deploy_cleanup
- glance_prep
- glance
- glance_cleanup
- glance_deploy_prep
- glance_deploy
- glance_deploy_cleanup
- ovn_prep
- ovn
- ovn_cleanup
- ovn_deploy_prep
- ovn_deploy
- ovn_deploy_cleanup
- neutron_prep
- neutron
- neutron_cleanup
- neutron_deploy_prep
- neutron_deploy
- neutron_deploy_cleanup
- cinder_prep
- cinder
- cinder_cleanup
- cinder_deploy_prep
- cinder_deploy
- cinder_deploy_cleanup
- rabbitmq_prep
- rabbitmq
- rabbitmq_cleanup
- rabbitmq_deploy_prep
- rabbitmq_deploy
- rabbitmq_deploy_cleanup
- ironic_prep
- ironic
- ironic_cleanup
- ironic_deploy_prep
- ironic_deploy
- ironic_deploy_cleanup
- octavia_prep
- octavia
- octavia_cleanup
- octavia_deploy_prep
- octavia_deploy
- octavia_deploy_cleanup
- designate_prep
- designate
- designate_cleanup
- designate_deploy_prep
- designate_deploy
- designate_deploy_cleanup
- nova_prep
- nova
- nova_cleanup
- nova_deploy_prep
- nova_deploy
- nova_deploy_cleanup
- mariadb_kuttl_run
- mariadb_kuttl
- kuttl_db_prep
- kuttl_db_cleanup
- kuttl_common_prep
- kuttl_common_cleanup
- keystone_kuttl_run
- keystone_kuttl
- barbican_kuttl_run
- barbican_kuttl
- placement_kuttl_run
- placement_kuttl
- cinder_kuttl_run
- cinder_kuttl
- neutron_kuttl_run
- neutron_kuttl
- octavia_kuttl_run
- octavia_kuttl
- designate_kuttl
- designate_kuttl_run
- ovn_kuttl_run
- ovn_kuttl
- infra_kuttl_run
- infra_kuttl
- ironic_kuttl_run
- ironic_kuttl
- ironic_kuttl_crc
- heat_kuttl_run
- heat_kuttl
- heat_kuttl_crc
- ansibleee_kuttl_run
- ansibleee_kuttl_cleanup
- ansibleee_kuttl_prep
- ansibleee_kuttl
- glance_kuttl_run
- glance_kuttl
- manila_kuttl_run
- manila_kuttl
- swift_kuttl_run
- swift_kuttl
- horizon_kuttl_run
- horizon_kuttl
- openstack_kuttl_run
- openstack_kuttl
- mariadb_chainsaw_run
- mariadb_chainsaw
- horizon_prep
- horizon
- horizon_cleanup
- horizon_deploy_prep
- horizon_deploy
- horizon_deploy_cleanup
- heat_prep
- heat
- heat_cleanup
- heat_deploy_prep
- heat_deploy
- heat_deploy_cleanup
- ansibleee_prep
- ansibleee
- ansibleee_cleanup
- baremetal_prep
- baremetal
- baremetal_cleanup
- ceph_help
- ceph
- ceph_cleanup
- rook_prep
- rook
- rook_deploy_prep
- rook_deploy
- rook_crc_disk
- rook_cleanup
- lvms
- nmstate
- nncp
- nncp_cleanup
- netattach
- netattach_cleanup
- metallb
- metallb_config
- metallb_config_cleanup
- metallb_cleanup
- loki
- loki_cleanup
- loki_deploy
- loki_deploy_cleanup
- netobserv
- netobserv_cleanup
- netobserv_deploy
- netobserv_deploy_cleanup
- manila_prep
- manila
- manila_cleanup
- manila_deploy_prep
- manila_deploy
- manila_deploy_cleanup
- telemetry_prep
- telemetry
- telemetry_cleanup
- telemetry_deploy_prep
- telemetry_deploy
- telemetry_deploy_cleanup
- telemetry_kuttl_run
- telemetry_kuttl
- swift_prep
- swift
- swift_cleanup
- swift_deploy_prep
- swift_deploy
- swift_deploy_cleanup
- certmanager
- certmanager_cleanup
- validate_marketplace
- redis_deploy_prep
- redis_deploy
- redis_deploy_cleanup
- set_slower_etcd_profile
/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile:
- help
- download_tools
- nfs
- nfs_cleanup
- crc
- crc_cleanup
- crc_scrub
- crc_attach_default_interface
- crc_attach_default_interface_cleanup
- ipv6_lab_network
- ipv6_lab_network_cleanup
- ipv6_lab_nat64_router
- ipv6_lab_nat64_router_cleanup
- ipv6_lab_sno
- ipv6_lab_sno_cleanup
- ipv6_lab
- ipv6_lab_cleanup
- attach_default_interface
- attach_default_interface_cleanup
- network_isolation_bridge
- network_isolation_bridge_cleanup
- edpm_baremetal_compute
- edpm_compute
- edpm_compute_bootc
- edpm_ansible_runner
- edpm_computes_bgp
- edpm_compute_repos
- edpm_compute_cleanup
- edpm_networker
- edpm_networker_cleanup
- edpm_deploy_instance
- tripleo_deploy
- standalone_deploy
- standalone_sync
- standalone
- standalone_cleanup
- standalone_snapshot
- standalone_revert
- cifmw_prepare
- cifmw_cleanup
- bmaas_network
- bmaas_network_cleanup
- bmaas_route_crc_and_crc_bmaas_networks
- bmaas_route_crc_and_crc_bmaas_networks_cleanup
- bmaas_crc_attach_network
- bmaas_crc_attach_network_cleanup
- bmaas_crc_baremetal_bridge
- bmaas_crc_baremetal_bridge_cleanup
- bmaas_baremetal_net_nad
- bmaas_baremetal_net_nad_cleanup
- bmaas_metallb
- bmaas_metallb_cleanup
- bmaas_virtual_bms
- bmaas_virtual_bms_cleanup
- bmaas_sushy_emulator
- bmaas_sushy_emulator_cleanup
- bmaas_sushy_emulator_wait
- bmaas_generate_nodes_yaml
- bmaas
- bmaas_cleanup
failed: false
success: true
2025-11-25 08:41:05,604 p=31436 u=zuul n=ansible | TASK [install_yamls : Create the install_yamls parameters file dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, content={{
{
'cifmw_install_yamls_environment': cifmw_install_yamls_environment,
'cifmw_install_yamls_defaults': cifmw_install_yamls_defaults
} | to_nice_yaml
}}, mode=0644] ***
2025-11-25 08:41:05,605 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.028) 0:01:00.401 ******
2025-11-25 08:41:05,605 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:05 +0000 (0:00:00.028) 0:01:00.399 ******
2025-11-25 08:41:05,992 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:06,000 p=31436 u=zuul n=ansible | TASK [install_yamls : Create empty cifmw_install_yamls_environment if needed cifmw_install_yamls_environment={}] ***
2025-11-25 08:41:06,000 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.395) 0:01:00.796 ******
2025-11-25 08:41:06,000 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.395) 0:01:00.795 ******
2025-11-25 08:41:06,016 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:06,030 p=31436 u=zuul n=ansible | TASK [discover_latest_image : Get latest image url={{ cifmw_discover_latest_image_base_url }}, image_prefix={{ cifmw_discover_latest_image_qcow_prefix }}, images_file={{ cifmw_discover_latest_image_images_file }}] ***
2025-11-25 08:41:06,030 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.030) 0:01:00.827 ******
2025-11-25 08:41:06,031 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.030) 0:01:00.825 ******
2025-11-25 08:41:06,389 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:06,400 p=31436 u=zuul n=ansible | TASK [discover_latest_image : Export facts accordingly cifmw_discovered_image_name={{ discovered_image['data']['image_name'] }}, cifmw_discovered_image_url={{ discovered_image['data']['image_url'] }}, cifmw_discovered_hash={{ discovered_image['data']['hash'] }}, cifmw_discovered_hash_algorithm={{ discovered_image['data']['hash_algorithm'] }}, cacheable=True] ***
2025-11-25 08:41:06,400 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.369) 0:01:01.197 ******
2025-11-25 08:41:06,400 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.369) 0:01:01.195 ******
2025-11-25 08:41:06,423 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:06,442 p=31436 u=zuul n=ansible | TASK [cifmw_setup : Create artifacts with custom params mode=0644, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/custom-params.yml, content={{ ci_framework_params | to_nice_yaml }}] ***
2025-11-25 08:41:06,442 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.042) 0:01:01.239 ******
2025-11-25 08:41:06,442 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.042) 0:01:01.237 ******
2025-11-25 08:41:06,812 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:06,846 p=31436 u=zuul n=ansible | PLAY [Install deps and prepare for KUTTL run] **********************************
2025-11-25 08:41:06,867 p=31436 u=zuul n=ansible | TASK [Download install_yamls deps name=install_yamls_makes, tasks_from=make_download_tools] ***
2025-11-25 08:41:06,867 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.424) 0:01:01.664 ******
2025-11-25 08:41:06,867 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.424) 0:01:01.662 ******
2025-11-25 08:41:06,920 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_download_tools_env var=make_download_tools_env] ***
2025-11-25 08:41:06,920 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.052) 0:01:01.716 ******
2025-11-25 08:41:06,920 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.052) 0:01:01.715 ******
2025-11-25 08:41:06,938 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:06,947 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_download_tools_params var=make_download_tools_params] ***
2025-11-25 08:41:06,947 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.027) 0:01:01.744 ******
2025-11-25 08:41:06,947 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.027) 0:01:01.742 ******
2025-11-25 08:41:06,966 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:06,978 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Run download_tools output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup, script=make download_tools, dry_run={{ make_download_tools_dryrun|default(false)|bool }}, extra_args={{ dict((make_download_tools_env|default({})), **(make_download_tools_params|default({}))) }}] ***
2025-11-25 08:41:06,978 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.031) 0:01:01.775 ******
2025-11-25 08:41:06,978 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:06 +0000 (0:00:00.031) 0:01:01.773 ******
2025-11-25 08:41:07,017 p=31436 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_000_run_download.log
2025-11-25 08:41:41,974 p=31436 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating
delimiters such as {{ }} or {% %}. Found: {{ make_download_tools_until |
default(true) }}
2025-11-25 08:41:41,975 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:41,988 p=31436 u=zuul n=ansible | TASK [Login into Openshift cluster name=openshift_login] ***********************
2025-11-25 08:41:41,988 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:41 +0000 (0:00:35.009) 0:01:36.785 ******
2025-11-25 08:41:41,988 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:41 +0000 (0:00:35.009) 0:01:36.783 ******
2025-11-25 08:41:42,044 p=31436 u=zuul n=ansible | TASK [openshift_login : Ensure output directory exists path={{ cifmw_openshift_login_basedir }}/artifacts, state=directory, mode=0755] ***
2025-11-25 08:41:42,044 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.056) 0:01:36.841 ******
2025-11-25 08:41:42,045 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.056) 0:01:36.839 ******
2025-11-25 08:41:42,261 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:42,269 p=31436 u=zuul n=ansible | TASK [openshift_login : OpenShift login _raw_params=login.yml] *****************
2025-11-25 08:41:42,269 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.224) 0:01:37.066 ******
2025-11-25 08:41:42,269 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.224) 0:01:37.064 ******
2025-11-25 08:41:42,296 p=31436 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/login.yml for localhost
2025-11-25 08:41:42,304 p=31436 u=zuul n=ansible | TASK [openshift_login : Check if the password file is present path={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] ***
2025-11-25 08:41:42,304 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.101 ******
2025-11-25 08:41:42,304 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.099 ******
2025-11-25 08:41:42,330 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:42,337 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch user password content src={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] ***
2025-11-25 08:41:42,337 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.033) 0:01:37.134 ******
2025-11-25 08:41:42,337 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.033) 0:01:37.132 ******
2025-11-25 08:41:42,363 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:42,371 p=31436 u=zuul n=ansible | TASK [openshift_login : Set user password as a fact cifmw_openshift_login_password={{ cifmw_openshift_login_password_file_slurp.content | b64decode }}, cacheable=True] ***
2025-11-25 08:41:42,371 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.168 ******
2025-11-25 08:41:42,372 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.034) 0:01:37.166 ******
2025-11-25 08:41:42,400 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:42,409 p=31436 u=zuul n=ansible | TASK [openshift_login : Set role variables cifmw_openshift_login_kubeconfig={{
cifmw_openshift_login_kubeconfig |
default(cifmw_openshift_kubeconfig) |
default(
ansible_env.KUBECONFIG if 'KUBECONFIG' in ansible_env else
cifmw_openshift_login_kubeconfig_default_path
) | trim
}}, cifmw_openshift_login_user={{ cifmw_openshift_login_user | default(cifmw_openshift_user) | default(omit) }}, cifmw_openshift_login_password={{ cifmw_openshift_login_password | default(cifmw_openshift_password) | default(omit) }}, cifmw_openshift_login_api={{ cifmw_openshift_login_api | default(cifmw_openshift_api) | default(omit) }}, cifmw_openshift_login_cert_login={{ cifmw_openshift_login_cert_login | default(false)}}, cifmw_openshift_login_provided_token={{ cifmw_openshift_provided_token | default(omit) }}, cacheable=True] ***
2025-11-25 08:41:42,410 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.038) 0:01:37.206 ******
2025-11-25 08:41:42,410 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.038) 0:01:37.204 ******
2025-11-25 08:41:42,439 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:42,446 p=31436 u=zuul n=ansible | TASK [openshift_login : Check if kubeconfig exists path={{ cifmw_openshift_login_kubeconfig }}] ***
2025-11-25 08:41:42,446 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.242 ******
2025-11-25 08:41:42,446 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.241 ******
2025-11-25 08:41:42,608 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:42,616 p=31436 u=zuul n=ansible | TASK [openshift_login : Assert that enough data is provided to log in to OpenShift that=cifmw_openshift_login_kubeconfig_stat.stat.exists or (cifmw_openshift_login_provided_token is defined and cifmw_openshift_login_provided_token != '') or (
(cifmw_openshift_login_user is defined) and
(cifmw_openshift_login_password is defined) and
(cifmw_openshift_login_api is defined)
), msg=If an existing kubeconfig is not provided user/pwd or provided/initial token and API URL must be given] ***
2025-11-25 08:41:42,616 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.170) 0:01:37.413 ******
2025-11-25 08:41:42,616 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.170) 0:01:37.411 ******
2025-11-25 08:41:42,640 p=31436 u=zuul n=ansible | ok: [localhost] =>
changed: false
msg: All assertions passed
2025-11-25 08:41:42,648 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch kubeconfig content src={{ cifmw_openshift_login_kubeconfig }}] ***
2025-11-25 08:41:42,648 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.031) 0:01:37.444 ******
2025-11-25 08:41:42,648 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.031) 0:01:37.442 ******
2025-11-25 08:41:42,666 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:42,673 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch x509 key based users cifmw_openshift_login_key_based_users={{
(
cifmw_openshift_login_kubeconfig_content_b64.content |
b64decode |
from_yaml
). users | default([]) |
selectattr('user.client-certificate-data', 'defined') |
map(attribute="name") |
map("split", "/") |
map("first")
}}, cacheable=True] ***
2025-11-25 08:41:42,673 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.470 ******
2025-11-25 08:41:42,673 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.468 ******
2025-11-25 08:41:42,691 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:42,699 p=31436 u=zuul n=ansible | TASK [openshift_login : Assign key based user if not provided and available cifmw_openshift_login_user={{
(cifmw_openshift_login_assume_cert_system_user | ternary('system:', '')) +
(cifmw_openshift_login_key_based_users | map('replace', 'system:', '') | unique | first)
}}, cifmw_openshift_login_cert_login=True, cacheable=True] ***
2025-11-25 08:41:42,699 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.495 ******
2025-11-25 08:41:42,699 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.025) 0:01:37.493 ******
2025-11-25 08:41:42,717 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:42,725 p=31436 u=zuul n=ansible | TASK [openshift_login : Set the retry count cifmw_openshift_login_retries_cnt={{
0 if cifmw_openshift_login_retries_cnt is undefined else
cifmw_openshift_login_retries_cnt|int + 1
}}] ***
2025-11-25 08:41:42,725 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.026) 0:01:37.522 ******
2025-11-25 08:41:42,725 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.026) 0:01:37.520 ******
2025-11-25 08:41:42,747 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:42,754 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch token _raw_params=try_login.yml] *****************
2025-11-25 08:41:42,754 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.029) 0:01:37.551 ******
2025-11-25 08:41:42,755 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.029) 0:01:37.549 ******
2025-11-25 08:41:42,782 p=31436 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml for localhost
2025-11-25 08:41:42,791 p=31436 u=zuul n=ansible | TASK [openshift_login : Try get OpenShift access token _raw_params=oc whoami -t] ***
2025-11-25 08:41:42,791 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.588 ******
2025-11-25 08:41:42,791 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:42 +0000 (0:00:00.036) 0:01:37.586 ******
2025-11-25 08:41:43,079 p=31436 u=zuul n=ansible | fatal: [localhost]: FAILED! =>
changed: true
cmd:
- oc
- whoami
- -t
delta: '0:00:00.108922'
end: '2025-11-25 08:41:43.060757'
msg: non-zero return code
rc: 1
start: '2025-11-25 08:41:42.951835'
stderr: |-
error: Missing or incomplete configuration info. Please point to an existing, complete config file:
1. Via the command-line flag --kubeconfig
2. Via the KUBECONFIG environment variable
3. In your home directory as ~/.kube/config
To view or setup config directly use the 'config' command.
stderr_lines:
- 'error: Missing or incomplete configuration info. Please point to an existing,
complete config file:'
- ''
- ''
- ' 1. Via the command-line flag --kubeconfig'
- ' 2. Via the KUBECONFIG environment variable'
- ' 3. In your home directory as ~/.kube/config'
- ''
- To view or setup config directly use the 'config' command.
stdout: ''
stdout_lines: []
2025-11-25 08:41:43,079 p=31436 u=zuul n=ansible | ...ignoring
2025-11-25 08:41:43,087 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift token output_dir={{ cifmw_openshift_login_basedir }}/artifacts, script=oc login {%- if cifmw_openshift_login_provided_token is not defined %} {%- if cifmw_openshift_login_user is defined %} -u {{ cifmw_openshift_login_user }} {%- endif %} {%- if cifmw_openshift_login_password is defined %} -p {{ cifmw_openshift_login_password }} {%- endif %} {% else %} --token={{ cifmw_openshift_login_provided_token }} {%- endif %} {%- if cifmw_openshift_login_skip_tls_verify|bool %} --insecure-skip-tls-verify=true {%- endif %} {%- if cifmw_openshift_login_api is defined %} {{ cifmw_openshift_login_api }} {%- endif %}] ***
2025-11-25 08:41:43,087 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.295) 0:01:37.884 ******
2025-11-25 08:41:43,087 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.296) 0:01:37.882 ******
2025-11-25 08:41:43,136 p=31436 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_001_fetch_openshift.log
2025-11-25 08:41:43,497 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:43,505 p=31436 u=zuul n=ansible | TASK [openshift_login : Ensure kubeconfig is provided that=cifmw_openshift_login_kubeconfig != ""] ***
2025-11-25 08:41:43,505 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.417) 0:01:38.301 ******
2025-11-25 08:41:43,505 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.417) 0:01:38.300 ******
2025-11-25 08:41:43,522 p=31436 u=zuul n=ansible | ok: [localhost] =>
changed: false
msg: All assertions passed
2025-11-25 08:41:43,529 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch new OpenShift access token _raw_params=oc whoami -t] ***
2025-11-25 08:41:43,529 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.024) 0:01:38.326 ******
2025-11-25 08:41:43,529 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.024) 0:01:38.324 ******
2025-11-25 08:41:43,868 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:43,876 p=31436 u=zuul n=ansible | TASK [openshift_login : Set new OpenShift token cifmw_openshift_login_token={{
(not cifmw_openshift_login_new_token_out.skipped | default(false)) |
ternary(cifmw_openshift_login_new_token_out.stdout, cifmw_openshift_login_whoami_out.stdout)
}}, cacheable=True] ***
2025-11-25 08:41:43,876 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.347) 0:01:38.673 ******
2025-11-25 08:41:43,876 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.347) 0:01:38.671 ******
2025-11-25 08:41:43,905 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:43,912 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift API URL _raw_params=oc whoami --show-server=true] ***
2025-11-25 08:41:43,912 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.036) 0:01:38.709 ******
2025-11-25 08:41:43,912 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:43 +0000 (0:00:00.036) 0:01:38.707 ******
2025-11-25 08:41:44,190 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:44,198 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift kubeconfig context _raw_params=oc whoami -c] ***
2025-11-25 08:41:44,198 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.285) 0:01:38.995 ******
2025-11-25 08:41:44,198 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.286) 0:01:38.993 ******
2025-11-25 08:41:44,470 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:44,477 p=31436 u=zuul n=ansible | TASK [openshift_login : Fetch OpenShift current user _raw_params=oc whoami] ****
2025-11-25 08:41:44,477 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.279) 0:01:39.274 ******
2025-11-25 08:41:44,477 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.278) 0:01:39.272 ******
2025-11-25 08:41:44,775 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:44,783 p=31436 u=zuul n=ansible | TASK [openshift_login : Set OpenShift user, context and API facts cifmw_openshift_login_api={{ cifmw_openshift_login_api_out.stdout }}, cifmw_openshift_login_context={{ cifmw_openshift_login_context_out.stdout }}, cifmw_openshift_login_user={{ _oauth_user }}, cifmw_openshift_kubeconfig={{ cifmw_openshift_login_kubeconfig }}, cifmw_openshift_api={{ cifmw_openshift_login_api_out.stdout }}, cifmw_openshift_context={{ cifmw_openshift_login_context_out.stdout }}, cifmw_openshift_user={{ _oauth_user }}, cifmw_openshift_token={{ cifmw_openshift_login_token | default(omit) }}, cifmw_install_yamls_environment={{ ( cifmw_install_yamls_environment |
combine({'KUBECONFIG': cifmw_openshift_login_kubeconfig})
) if cifmw_install_yamls_environment is defined else omit
}}, cacheable=True] ***
2025-11-25 08:41:44,783 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.305) 0:01:39.579 ******
2025-11-25 08:41:44,783 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.305) 0:01:39.578 ******
2025-11-25 08:41:44,834 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:44,843 p=31436 u=zuul n=ansible | TASK [openshift_login : Create the openshift_login parameters file dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/openshift-login-params.yml, content={{ cifmw_openshift_login_params_content | from_yaml | to_nice_yaml }}, mode=0600] ***
2025-11-25 08:41:44,843 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.060) 0:01:39.640 ******
2025-11-25 08:41:44,843 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:44 +0000 (0:00:00.060) 0:01:39.638 ******
2025-11-25 08:41:45,260 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:45,274 p=31436 u=zuul n=ansible | TASK [openshift_login : Read the install yamls parameters file path={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml] ***
2025-11-25 08:41:45,274 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.430) 0:01:40.071 ******
2025-11-25 08:41:45,274 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.431) 0:01:40.069 ******
2025-11-25 08:41:45,572 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:45,579 p=31436 u=zuul n=ansible | TASK [openshift_login : Append the KUBECONFIG to the install yamls parameters content={{
cifmw_openshift_login_install_yamls_artifacts_slurp['content'] | b64decode | from_yaml |
combine(
{
'cifmw_install_yamls_environment': {
'KUBECONFIG': cifmw_openshift_login_kubeconfig
}
}, recursive=true) | to_nice_yaml
}}, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, mode=0600] ***
2025-11-25 08:41:45,579 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.305) 0:01:40.376 ******
2025-11-25 08:41:45,579 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:45 +0000 (0:00:00.305) 0:01:40.374 ******
2025-11-25 08:41:46,103 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:46,115 p=31436 u=zuul n=ansible | TASK [openshift_setup : Ensure output directory exists path={{ cifmw_openshift_setup_basedir }}/artifacts, state=directory, mode=0755] ***
2025-11-25 08:41:46,116 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.536) 0:01:40.912 ******
2025-11-25 08:41:46,116 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.536) 0:01:40.910 ******
2025-11-25 08:41:46,299 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:46,308 p=31436 u=zuul n=ansible | TASK [openshift_setup : Fetch namespaces to create cifmw_openshift_setup_namespaces={{
((
([cifmw_install_yamls_defaults['NAMESPACE']] +
([cifmw_install_yamls_defaults['OPERATOR_NAMESPACE']] if 'OPERATOR_NAMESPACE' is in cifmw_install_yamls_defaults else [])
) if cifmw_install_yamls_defaults is defined else []
) + cifmw_openshift_setup_create_namespaces) | unique
}}] ***
2025-11-25 08:41:46,308 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.192) 0:01:41.104 ******
2025-11-25 08:41:46,308 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.192) 0:01:41.102 ******
2025-11-25 08:41:46,331 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:46,342 p=31436 u=zuul n=ansible | TASK [openshift_setup : Create required namespaces kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit) }}, name={{ item }}, kind=Namespace, state=present] ***
2025-11-25 08:41:46,343 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.034) 0:01:41.139 ******
2025-11-25 08:41:46,343 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:46 +0000 (0:00:00.034) 0:01:41.137 ******
2025-11-25 08:41:47,263 p=31436 u=zuul n=ansible | changed: [localhost] => (item=openstack)
2025-11-25 08:41:47,968 p=31436 u=zuul n=ansible | changed: [localhost] => (item=openstack-operators)
2025-11-25 08:41:47,979 p=31436 u=zuul n=ansible | TASK [openshift_setup : Get internal OpenShift registry route kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Route, name=default-route, namespace=openshift-image-registry] ***
2025-11-25 08:41:47,979 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:47 +0000 (0:00:01.636) 0:01:42.776 ******
2025-11-25 08:41:47,979 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:47 +0000 (0:00:01.636) 0:01:42.774 ******
2025-11-25 08:41:47,994 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,002 p=31436 u=zuul n=ansible | TASK [openshift_setup : Allow anonymous image-pulls in CRC registry for targeted namespaces state=present, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'kind': 'RoleBinding', 'apiVersion': 'rbac.authorization.k8s.io/v1', 'metadata': {'name': 'system:image-puller', 'namespace': '{{ item }}'}, 'subjects': [{'kind': 'User', 'name': 'system:anonymous'}, {'kind': 'User', 'name': 'system:unauthenticated'}], 'roleRef': {'kind': 'ClusterRole', 'name': 'system:image-puller'}}] ***
2025-11-25 08:41:48,002 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.023) 0:01:42.799 ******
2025-11-25 08:41:48,002 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.023) 0:01:42.797 ******
2025-11-25 08:41:48,023 p=31436 u=zuul n=ansible | skipping: [localhost] => (item=openstack)
2025-11-25 08:41:48,024 p=31436 u=zuul n=ansible | skipping: [localhost] => (item=openstack-operators)
2025-11-25 08:41:48,025 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,032 p=31436 u=zuul n=ansible | TASK [openshift_setup : Wait for the image registry to be ready kind=Deployment, name=image-registry, namespace=openshift-image-registry, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, wait=True, wait_sleep=10, wait_timeout=600, wait_condition={'type': 'Available', 'status': 'True'}] ***
2025-11-25 08:41:48,032 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.029) 0:01:42.829 ******
2025-11-25 08:41:48,032 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.029) 0:01:42.827 ******
2025-11-25 08:41:48,051 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,058 p=31436 u=zuul n=ansible | TASK [openshift_setup : Login into OpenShift internal registry output_dir={{ cifmw_openshift_setup_basedir }}/artifacts, script=podman login -u {{ cifmw_openshift_user }} -p {{ cifmw_openshift_token }} {%- if cifmw_openshift_setup_skip_internal_registry_tls_verify|bool %} --tls-verify=false {%- endif %} {{ cifmw_openshift_setup_registry_default_route.resources[0].spec.host }}] ***
2025-11-25 08:41:48,058 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.855 ******
2025-11-25 08:41:48,059 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.853 ******
2025-11-25 08:41:48,077 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,084 p=31436 u=zuul n=ansible | TASK [Ensure we have custom CA installed on host role=install_ca] **************
2025-11-25 08:41:48,084 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.881 ******
2025-11-25 08:41:48,084 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.879 ******
2025-11-25 08:41:48,102 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,110 p=31436 u=zuul n=ansible | TASK [openshift_setup : Update ca bundle _raw_params=update-ca-trust extract] ***
2025-11-25 08:41:48,110 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.906 ******
2025-11-25 08:41:48,110 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.904 ******
2025-11-25 08:41:48,129 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,136 p=31436 u=zuul n=ansible | TASK [openshift_setup : Slurp CAs file src={{ cifmw_openshift_setup_ca_bundle_path }}] ***
2025-11-25 08:41:48,136 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.933 ******
2025-11-25 08:41:48,136 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.931 ******
2025-11-25 08:41:48,155 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,162 p=31436 u=zuul n=ansible | TASK [openshift_setup : Create config map with registry CAs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'apiVersion': 'v1', 'kind': 'ConfigMap', 'metadata': {'namespace': 'openshift-config', 'name': 'registry-cas'}, 'data': '{{ _config_map_data | items2dict }}'}] ***
2025-11-25 08:41:48,162 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.959 ******
2025-11-25 08:41:48,162 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:42.957 ******
2025-11-25 08:41:48,179 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,188 p=31436 u=zuul n=ansible | TASK [openshift_setup : Install Red Hat CA for pulling images from internal registry kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, merge_type=merge, definition={'apiVersion': 'config.openshift.io/v1', 'kind': 'Image', 'metadata': {'name': 'cluster'}, 'spec': {'additionalTrustedCA': {'name': 'registry-cas'}}}] ***
2025-11-25 08:41:48,188 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.984 ******
2025-11-25 08:41:48,188 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:42.982 ******
2025-11-25 08:41:48,205 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,213 p=31436 u=zuul n=ansible | TASK [openshift_setup : Add insecure registry kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, merge_type=merge, definition={'apiVersion': 'config.openshift.io/v1', 'kind': 'Image', 'metadata': {'name': 'cluster'}, 'spec': {'registrySources': {'insecureRegistries': ['{{ cifmw_update_containers_registry }}'], 'allowedRegistries': '{{ all_registries }}'}}}] ***
2025-11-25 08:41:48,213 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:43.010 ******
2025-11-25 08:41:48,213 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.025) 0:01:43.008 ******
2025-11-25 08:41:48,232 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,239 p=31436 u=zuul n=ansible | TASK [openshift_setup : Create a ICSP with repository digest mirrors kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, definition={'apiVersion': 'operator.openshift.io/v1alpha1', 'kind': 'ImageContentSourcePolicy', 'metadata': {'name': 'registry-digest-mirrors'}, 'spec': {'repositoryDigestMirrors': '{{ cifmw_openshift_setup_digest_mirrors }}'}}] ***
2025-11-25 08:41:48,240 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:43.036 ******
2025-11-25 08:41:48,240 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.026) 0:01:43.034 ******
2025-11-25 08:41:48,261 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:48,268 p=31436 u=zuul n=ansible | TASK [openshift_setup : Gather network.operator info kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, api_version=operator.openshift.io/v1, kind=Network, name=cluster] ***
2025-11-25 08:41:48,268 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.028) 0:01:43.065 ******
2025-11-25 08:41:48,269 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:48 +0000 (0:00:00.028) 0:01:43.063 ******
2025-11-25 08:41:49,152 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:49,166 p=31436 u=zuul n=ansible | TASK [openshift_setup : Patch network operator api_version=operator.openshift.io/v1, kubeconfig={{ cifmw_openshift_kubeconfig }}, kind=Network, name=cluster, persist_config=True, patch=[{'path': '/spec/defaultNetwork/ovnKubernetesConfig/gatewayConfig/routingViaHost', 'value': True, 'op': 'replace'}, {'path': '/spec/defaultNetwork/ovnKubernetesConfig/gatewayConfig/ipForwarding', 'value': 'Global', 'op': 'replace'}]] ***
2025-11-25 08:41:49,166 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:49 +0000 (0:00:00.897) 0:01:43.963 ******
2025-11-25 08:41:49,166 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:49 +0000 (0:00:00.897) 0:01:43.961 ******
2025-11-25 08:41:50,103 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:50,120 p=31436 u=zuul n=ansible | TASK [openshift_setup : Patch samples registry configuration kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, api_version=samples.operator.openshift.io/v1, kind=Config, name=cluster, patch=[{'op': 'replace', 'path': '/spec/samplesRegistry', 'value': 'registry.redhat.io'}]] ***
2025-11-25 08:41:50,120 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.954) 0:01:44.917 ******
2025-11-25 08:41:50,121 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.954) 0:01:44.915 ******
2025-11-25 08:41:50,867 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:50,874 p=31436 u=zuul n=ansible | TASK [openshift_setup : Delete the pods from openshift-marketplace namespace kind=Pod, state=absent, delete_all=True, kubeconfig={{ cifmw_openshift_kubeconfig }}, namespace=openshift-marketplace] ***
2025-11-25 08:41:50,874 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.754) 0:01:45.671 ******
2025-11-25 08:41:50,874 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.753) 0:01:45.669 ******
2025-11-25 08:41:50,887 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:50,895 p=31436 u=zuul n=ansible | TASK [openshift_setup : Wait for openshift-marketplace pods to be running _raw_params=oc wait pod --all --for=condition=Ready -n openshift-marketplace --timeout=1m] ***
2025-11-25 08:41:50,895 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.020) 0:01:45.692 ******
2025-11-25 08:41:50,895 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.020) 0:01:45.690 ******
2025-11-25 08:41:50,909 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:50,921 p=31436 u=zuul n=ansible | TASK [Attach default network to CRC name=install_yamls_makes, tasks_from=make_crc_attach_default_interface] ***
2025-11-25 08:41:50,921 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.026) 0:01:45.718 ******
2025-11-25 08:41:50,922 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.026) 0:01:45.716 ******
2025-11-25 08:41:50,980 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_env var=make_crc_attach_default_interface_env] ***
2025-11-25 08:41:50,980 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.058) 0:01:45.777 ******
2025-11-25 08:41:50,980 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:50 +0000 (0:00:00.058) 0:01:45.775 ******
2025-11-25 08:41:50,998 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:51,006 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_params var=make_crc_attach_default_interface_params] ***
2025-11-25 08:41:51,006 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.025) 0:01:45.803 ******
2025-11-25 08:41:51,006 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.025) 0:01:45.801 ******
2025-11-25 08:41:51,025 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:51,033 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Run crc_attach_default_interface output_dir={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts, chdir=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup, script=make crc_attach_default_interface, dry_run={{ make_crc_attach_default_interface_dryrun|default(false)|bool }}, extra_args={{ dict((make_crc_attach_default_interface_env|default({})), **(make_crc_attach_default_interface_params|default({}))) }}] ***
2025-11-25 08:41:51,033 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.026) 0:01:45.830 ******
2025-11-25 08:41:51,033 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:51 +0000 (0:00:00.026) 0:01:45.828 ******
2025-11-25 08:41:51,069 p=31436 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_002_run_crc_attach_default.log
2025-11-25 08:41:56,208 p=31436 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating
delimiters such as {{ }} or {% %}. Found: {{
make_crc_attach_default_interface_until | default(true) }}
2025-11-25 08:41:56,210 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:41:56,222 p=31436 u=zuul n=ansible | TASK [run_hook : Assert parameters are valid quiet=True, that=['_list_hooks is not string', '_list_hooks is not mapping', '_list_hooks is iterable', '(hooks | default([])) is not string', '(hooks | default([])) is not mapping', '(hooks | default([])) is iterable']] ***
2025-11-25 08:41:56,222 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:05.189) 0:01:51.019 ******
2025-11-25 08:41:56,222 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:05.189) 0:01:51.017 ******
2025-11-25 08:41:56,275 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:56,286 p=31436 u=zuul n=ansible | TASK [run_hook : Assert single hooks are all mappings quiet=True, that=['_not_mapping_hooks | length == 0'], msg=All single hooks must be a list of mappings or a mapping.] ***
2025-11-25 08:41:56,286 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.063) 0:01:51.083 ******
2025-11-25 08:41:56,286 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.063) 0:01:51.081 ******
2025-11-25 08:41:56,359 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:56,372 p=31436 u=zuul n=ansible | TASK [run_hook : Loop on hooks for pre_kuttl _raw_params={{ hook.type }}.yml] ***
2025-11-25 08:41:56,372 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.085) 0:01:51.169 ******
2025-11-25 08:41:56,372 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.085) 0:01:51.167 ******
2025-11-25 08:41:56,452 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:56,467 p=31436 u=zuul n=ansible | TASK [Run kuttl tests _raw_params=run-kuttl-tests.yml] *************************
2025-11-25 08:41:56,467 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.094) 0:01:51.263 ******
2025-11-25 08:41:56,467 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.094) 0:01:51.262 ******
2025-11-25 08:41:56,503 p=31436 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=keystone)
2025-11-25 08:41:56,529 p=31436 u=zuul n=ansible | TASK [Load parameters dir={{ cifmw_basedir }}/artifacts/parameters] ************
2025-11-25 08:41:56,529 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.062) 0:01:51.326 ******
2025-11-25 08:41:56,529 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.062) 0:01:51.324 ******
2025-11-25 08:41:56,572 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:56,581 p=31436 u=zuul n=ansible | TASK [Use the locally built operators if any _local_operators_indexes={{ _local_operators_indexes|default({}) | combine({ item.key.split('-')[0]|upper+'_IMG': cifmw_operator_build_output['operators'][item.key].image_catalog}) }}] ***
2025-11-25 08:41:56,581 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.052) 0:01:51.378 ******
2025-11-25 08:41:56,581 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.052) 0:01:51.376 ******
2025-11-25 08:41:56,612 p=31436 u=zuul n=ansible | ok: [localhost] => (item={'key': 'keystone-operator', 'value': {'git_commit_hash': '99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'git_src_dir': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'image': '38.129.56.231:5001/openstack-k8s-operators/keystone-operator:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'image_bundle': '38.129.56.231:5001/openstack-k8s-operators/keystone-operator-bundle:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a', 'image_catalog': '38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a'}})
2025-11-25 08:41:56,622 p=31436 u=zuul n=ansible | ok: [localhost] => (item={'key': 'openstack-operator', 'value': {'git_commit_hash': '17b1faec894dfcad58164b52f38cf6acda76f9dc', 'git_src_dir': '~/src/github.com/openstack-k8s-operators/openstack-operator', 'image': '38.129.56.231:5001/openstack-k8s-operators/openstack-operator:17b1faec894dfcad58164b52f38cf6acda76f9dc', 'image_bundle': '38.129.56.231:5001/openstack-k8s-operators/openstack-operator-bundle:17b1faec894dfcad58164b52f38cf6acda76f9dc', 'image_catalog': '38.129.56.231:5001/openstack-k8s-operators/openstack-operator-index:17b1faec894dfcad58164b52f38cf6acda76f9dc'}})
2025-11-25 08:41:56,630 p=31436 u=zuul n=ansible | TASK [Set environment vars for kuttl test cifmw_kuttl_tests_env={{
_local_operators_indexes | default({}) |
combine(cifmw_install_yamls_environment) |
combine(cifmw_kuttl_tests_env_vars | default({})) |
combine(cifmw_kuttl_openstack_prep_vars | default({})) |
combine({'PATH': cifmw_path})
}}] ***
2025-11-25 08:41:56,630 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.048) 0:01:51.427 ******
2025-11-25 08:41:56,630 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.048) 0:01:51.425 ******
2025-11-25 08:41:56,649 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:56,656 p=31436 u=zuul n=ansible | TASK [Clean storage beforehand name=ci_local_storage, tasks_from=cleanup.yml] ***
2025-11-25 08:41:56,656 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.025) 0:01:51.452 ******
2025-11-25 08:41:56,656 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.025) 0:01:51.451 ******
2025-11-25 08:41:56,692 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Get all pvs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=PersistentVolume, label_selectors=['provisioned-by={{ cifmw_cls_storage_provisioner }}']] ***
2025-11-25 08:41:56,693 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.036) 0:01:51.489 ******
2025-11-25 08:41:56,693 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:56 +0000 (0:00:00.036) 0:01:51.487 ******
2025-11-25 08:41:57,386 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:57,393 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Export PVs as facts cifmw_cls_pvs={{ _pv_info.resources |
selectattr("metadata.name", "defined") |
map(attribute="metadata.name")
}}] ***
2025-11-25 08:41:57,394 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.701) 0:01:52.190 ******
2025-11-25 08:41:57,394 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.701) 0:01:52.188 ******
2025-11-25 08:41:57,414 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:57,423 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Delete all pvs kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=PersistentVolume, state=absent, api_version=v1, namespace={{ cifmw_cls_namespace }}, name={{ item }}] ***
2025-11-25 08:41:57,423 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.029) 0:01:52.220 ******
2025-11-25 08:41:57,423 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.029) 0:01:52.218 ******
2025-11-25 08:41:57,438 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:41:57,446 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Get k8s nodes kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Node] ***
2025-11-25 08:41:57,446 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.022) 0:01:52.242 ******
2025-11-25 08:41:57,446 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:57 +0000 (0:00:00.022) 0:01:52.240 ******
2025-11-25 08:41:58,216 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:58,226 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] ***
2025-11-25 08:41:58,226 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:58 +0000 (0:00:00.780) 0:01:53.022 ******
2025-11-25 08:41:58,226 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:58 +0000 (0:00:00.780) 0:01:53.021 ******
2025-11-25 08:41:59,111 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=crc)
2025-11-25 08:41:59,619 p=31436 u=zuul n=ansible | changed: [localhost -> controller(38.102.83.98)] => (item=controller)
2025-11-25 08:41:59,810 p=31436 u=zuul n=ansible | changed: [localhost] => (item=localhost)
2025-11-25 08:41:59,812 p=31436 u=zuul n=ansible | [WARNING]: Platform linux on host localhost is using the discovered Python
interpreter at /usr/bin/python3.9, but future installation of another Python
interpreter could change the meaning of that path. See
https://docs.ansible.com/ansible-
core/2.15/reference_appendices/interpreter_discovery.html for more information.
2025-11-25 08:41:59,829 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{
_host_map |
selectattr("key", "in", k8s_nodes_hostnames) |
map(attribute="value") |
list
}}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] ***
2025-11-25 08:41:59,829 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:59 +0000 (0:00:01.603) 0:01:54.626 ******
2025-11-25 08:41:59,829 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:59 +0000 (0:00:01.603) 0:01:54.624 ******
2025-11-25 08:41:59,868 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:41:59,876 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Delete directories on worker node _raw_params=worker_node_dirs.yml] ***
2025-11-25 08:41:59,876 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.047) 0:01:54.673 ******
2025-11-25 08:41:59,876 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.047) 0:01:54.671 ******
2025-11-25 08:41:59,899 p=31436 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_local_storage/tasks/worker_node_dirs.yml for localhost => (item=crc)
2025-11-25 08:41:59,911 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Perform action in the PV directory path={{
[
cifmw_cls_local_storage_name,
'pv'+ ("%02d" | format(item | int))
] | path_join
}}, state={{
'directory' if cifmw_cls_action == 'create' else 'absent'
}}, mode=0775] ***
2025-11-25 08:41:59,911 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.034) 0:01:54.708 ******
2025-11-25 08:41:59,911 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:41:59 +0000 (0:00:00.034) 0:01:54.706 ******
2025-11-25 08:42:00,433 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=1)
2025-11-25 08:42:00,947 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=2)
2025-11-25 08:42:01,534 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=3)
2025-11-25 08:42:01,970 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=4)
2025-11-25 08:42:02,446 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=5)
2025-11-25 08:42:02,974 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=6)
2025-11-25 08:42:03,467 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=7)
2025-11-25 08:42:03,888 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=8)
2025-11-25 08:42:04,393 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=9)
2025-11-25 08:42:04,877 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=10)
2025-11-25 08:42:05,406 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=11)
2025-11-25 08:42:05,925 p=31436 u=zuul n=ansible | ok: [localhost -> crc(38.102.83.222)] => (item=12)
2025-11-25 08:42:05,948 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Remove the cifmw_cls_namespace namespace state=absent, kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Namespace, name={{ cifmw_cls_namespace }}, wait=True, wait_timeout=300] ***
2025-11-25 08:42:05,949 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:05 +0000 (0:00:06.037) 0:02:00.745 ******
2025-11-25 08:42:05,949 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:05 +0000 (0:00:06.037) 0:02:00.744 ******
2025-11-25 08:42:16,806 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:16,828 p=31436 u=zuul n=ansible | TASK [Create storage name=ci_local_storage] ************************************
2025-11-25 08:42:16,828 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:16 +0000 (0:00:10.879) 0:02:11.625 ******
2025-11-25 08:42:16,828 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:16 +0000 (0:00:10.879) 0:02:11.623 ******
2025-11-25 08:42:16,890 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Create role needed directories path={{ cifmw_cls_manifests_dir }}, state=directory, mode=0755] ***
2025-11-25 08:42:16,890 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:16 +0000 (0:00:00.061) 0:02:11.686 ******
2025-11-25 08:42:16,890 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:16 +0000 (0:00:00.061) 0:02:11.685 ******
2025-11-25 08:42:17,135 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:17,145 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Create the cifmw_cls_namespace namespace" kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit) }}, name={{ cifmw_cls_namespace }}, kind=Namespace, state=present] ***
2025-11-25 08:42:17,145 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.255) 0:02:11.942 ******
2025-11-25 08:42:17,145 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.255) 0:02:11.940 ******
2025-11-25 08:42:17,867 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:17,876 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Save storage manifests as artifacts dest={{ cifmw_cls_manifests_dir }}/storage-class.yaml, content={{ cifmw_cls_storage_manifest | to_nice_yaml }}, mode=0644] ***
2025-11-25 08:42:17,876 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.730) 0:02:12.673 ******
2025-11-25 08:42:17,876 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:17 +0000 (0:00:00.730) 0:02:12.671 ******
2025-11-25 08:42:18,255 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:18,269 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Get k8s nodes kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit)}}, context={{ cifmw_openshift_context | default(omit)}}, kind=Node] ***
2025-11-25 08:42:18,269 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:18 +0000 (0:00:00.392) 0:02:13.066 ******
2025-11-25 08:42:18,269 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:18 +0000 (0:00:00.392) 0:02:13.064 ******
2025-11-25 08:42:19,020 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:42:19,030 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] ***
2025-11-25 08:42:19,030 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:19 +0000 (0:00:00.760) 0:02:13.826 ******
2025-11-25 08:42:19,030 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:19 +0000 (0:00:00.760) 0:02:13.825 ******
2025-11-25 08:42:19,457 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=crc)
2025-11-25 08:42:19,818 p=31436 u=zuul n=ansible | changed: [localhost -> controller(38.102.83.98)] => (item=controller)
2025-11-25 08:42:19,991 p=31436 u=zuul n=ansible | changed: [localhost] => (item=localhost)
2025-11-25 08:42:20,012 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{
_host_map |
selectattr("key", "in", k8s_nodes_hostnames) |
map(attribute="value") |
list
}}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] ***
2025-11-25 08:42:20,012 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.982) 0:02:14.809 ******
2025-11-25 08:42:20,012 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.982) 0:02:14.807 ******
2025-11-25 08:42:20,047 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:42:20,063 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Apply the storage class manifests kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit) }}, context={{ cifmw_openshift_context | default(omit) }}, state=present, src={{ cifmw_cls_manifests_dir }}/storage-class.yaml] ***
2025-11-25 08:42:20,064 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.051) 0:02:14.860 ******
2025-11-25 08:42:20,064 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.051) 0:02:14.859 ******
2025-11-25 08:42:20,753 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:20,760 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Create directories on worker node _raw_params=worker_node_dirs.yml] ***
2025-11-25 08:42:20,761 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.696) 0:02:15.557 ******
2025-11-25 08:42:20,761 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.696) 0:02:15.555 ******
2025-11-25 08:42:20,787 p=31436 u=zuul n=ansible | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_local_storage/tasks/worker_node_dirs.yml for localhost => (item=crc)
2025-11-25 08:42:20,798 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Perform action in the PV directory path={{
[
cifmw_cls_local_storage_name,
'pv'+ ("%02d" | format(item | int))
] | path_join
}}, state={{
'directory' if cifmw_cls_action == 'create' else 'absent'
}}, mode=0775] ***
2025-11-25 08:42:20,798 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.037) 0:02:15.595 ******
2025-11-25 08:42:20,798 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:20 +0000 (0:00:00.037) 0:02:15.593 ******
2025-11-25 08:42:21,348 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=1)
2025-11-25 08:42:21,883 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=2)
2025-11-25 08:42:22,398 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=3)
2025-11-25 08:42:22,854 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=4)
2025-11-25 08:42:23,327 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=5)
2025-11-25 08:42:23,848 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=6)
2025-11-25 08:42:24,281 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=7)
2025-11-25 08:42:24,771 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=8)
2025-11-25 08:42:25,364 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=9)
2025-11-25 08:42:25,855 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=10)
2025-11-25 08:42:26,249 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=11)
2025-11-25 08:42:26,687 p=31436 u=zuul n=ansible | changed: [localhost -> crc(38.102.83.222)] => (item=12)
2025-11-25 08:42:26,712 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Generate pv related storage manifest file src=storage.yaml.j2, dest={{ cifmw_cls_manifests_dir }}/storage.yaml, mode=0644] ***
2025-11-25 08:42:26,712 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:26 +0000 (0:00:05.913) 0:02:21.509 ******
2025-11-25 08:42:26,712 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:26 +0000 (0:00:05.913) 0:02:21.507 ******
2025-11-25 08:42:27,185 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:27,192 p=31436 u=zuul n=ansible | TASK [ci_local_storage : Apply pv related storage manifest file kubeconfig={{ cifmw_openshift_kubeconfig }}, api_key={{ cifmw_openshift_token | default(omit) }}, context={{ cifmw_openshift_context | default(omit) }}, state=present, src={{ cifmw_cls_manifests_dir }}/storage.yaml] ***
2025-11-25 08:42:27,192 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:27 +0000 (0:00:00.480) 0:02:21.989 ******
2025-11-25 08:42:27,193 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:27 +0000 (0:00:00.480) 0:02:21.987 ******
2025-11-25 08:42:28,021 p=31436 u=zuul n=ansible | changed: [localhost]
2025-11-25 08:42:28,045 p=31436 u=zuul n=ansible | TASK [Get resource status before keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_before_{{ operator }}_kuttl.log
] ***
2025-11-25 08:42:28,045 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.852) 0:02:22.841 ******
2025-11-25 08:42:28,045 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.852) 0:02:22.840 ******
2025-11-25 08:42:28,060 p=31436 u=zuul n=ansible | fatal: [localhost]: FAILED! =>
msg: '''commands_before_kuttl_run'' is undefined. ''commands_before_kuttl_run'' is
undefined'
2025-11-25 08:42:28,060 p=31436 u=zuul n=ansible | ...ignoring
2025-11-25 08:42:28,069 p=31436 u=zuul n=ansible | TASK [Set make_keystone_kuttl_env vars make_{{ operator }}_kuttl_env={{ cifmw_kuttl_tests_env }}] ***
2025-11-25 08:42:28,069 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.023) 0:02:22.865 ******
2025-11-25 08:42:28,069 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.023) 0:02:22.863 ******
2025-11-25 08:42:28,092 p=31436 u=zuul n=ansible | ok: [localhost]
2025-11-25 08:42:28,100 p=31436 u=zuul n=ansible | TASK [Run make_keystone_kuttl name=install_yamls_makes, tasks_from=make_{{ operator }}_kuttl.yml, apply={'ignore_errors': True}] ***
2025-11-25 08:42:28,100 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.031) 0:02:22.897 ******
2025-11-25 08:42:28,100 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.031) 0:02:22.895 ******
2025-11-25 08:42:28,159 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_keystone_kuttl_env var=make_keystone_kuttl_env] ***
2025-11-25 08:42:28,159 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.059) 0:02:22.956 ******
2025-11-25 08:42:28,160 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.059) 0:02:22.954 ******
2025-11-25 08:42:28,185 p=31436 u=zuul n=ansible | ok: [localhost] =>
make_keystone_kuttl_env:
BMO_SETUP: false
CHECKOUT_FROM_OPENSTACK_REF: 'true'
KEYSTONE_BRANCH: ''
KEYSTONE_IMG: 38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a
KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator
KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig
OPENSTACK_IMG: 38.129.56.231:5001/openstack-k8s-operators/openstack-operator-index:17b1faec894dfcad58164b52f38cf6acda76f9dc
OPENSTACK_K8S_BRANCH: main
OUT: /home/zuul/ci-framework-data/artifacts/manifests
OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm
PATH: /home/zuul/.crc/bin:/home/zuul/.crc/bin/oc:/home/zuul/bin:/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
2025-11-25 08:42:28,193 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Debug make_keystone_kuttl_params var=make_keystone_kuttl_params] ***
2025-11-25 08:42:28,193 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.033) 0:02:22.990 ******
2025-11-25 08:42:28,193 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.033) 0:02:22.988 ******
2025-11-25 08:42:28,211 p=31436 u=zuul n=ansible | skipping: [localhost]
2025-11-25 08:42:28,219 p=31436 u=zuul n=ansible | TASK [install_yamls_makes : Run keystone_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 keystone_kuttl, dry_run={{ make_keystone_kuttl_dryrun|default(false)|bool }}, extra_args={{ dict((make_keystone_kuttl_env|default({})), **(make_keystone_kuttl_params|default({}))) }}] ***
2025-11-25 08:42:28,219 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.025) 0:02:23.015 ******
2025-11-25 08:42:28,219 p=31436 u=zuul n=ansible | Tuesday 25 November 2025 08:42:28 +0000 (0:00:00.025) 0:02:23.014 ******
2025-11-25 08:42:28,260 p=31436 u=zuul n=ansible | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_003_run_keystone.log
2025-11-25 08:56:04,118 p=31436 u=zuul n=ansible | [WARNING]: conditional statements should not include jinja2 templating
delimiters such as {{ }} or {% %}. Found: {{ make_keystone_kuttl_until |
default(true) }}
2025-11-25 08:56:04,238 p=31436 u=zuul n=ansible | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None
2025-11-25 08:56:04,414 p=31436 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/gen-namespace.sh\n+
'[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests
']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+
'[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests
']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+
cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests
created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io
keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests
\ Active\noc project keystone-kuttl-tests\nNow using project \"keystone-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 keystone-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/keystone-kuttl-tests/input\n+
'[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input
']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+
pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/manila/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/heat/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/heat/cr\noc
kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/horizon/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/horizon/cr\noc
kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/nova/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/infra-redis/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/infra-redis/cr\noc
kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/octavia/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/designate/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/neutron/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/ovn/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/ovn/cr\noc
kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/ironic/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/cinder/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/glance/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/placement/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/swift/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/swift/cr\noc
kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/barbican/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/keystone/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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/keystone-kuttl-tests/mariadb/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/mariadb/cr\noc
kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/telemetry/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-kuttl-tests/telemetry/cr\nrm
-Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator
/home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-kuttl-tests/infra/cr'
: lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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+ mkdir -p /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/keystone-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 231c653930d1\nNote: switching
to '231c653930d1'.\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 231c653 Merge pull request
#379 from dciabrin/pwd-wsrep-notify\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml
/home/zuul/ci-framework-data/artifacts/manifests/keystone-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 keystone-kuttl-tests ']'\n+ '[' -z Galera ']'\n+
'[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr
']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+
STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '['
'!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr
']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr
~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1
']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+
'[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera
== OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera ==
NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge
config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+
for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+
popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]:
Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror:
the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+
TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+
SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+
'[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+
pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts
~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until
[ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+
'[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster
']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators
deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError
from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\"
not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators
']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++
oc get -n openstack-operators deployment mariadb-operator-controller-manager -o
json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1
']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb
= rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get
-n openstack-operators deployment mariadb-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1
']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb
= rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get
-n openstack-operators deployment mariadb-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1
']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb
= rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ jq -e
.status.availableReplicas\n++ oc get -n openstack-operators deployment mariadb-operator-controller-manager
-o json\nError from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\"
not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators
']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++
oc get -n openstack-operators deployment mariadb-operator-controller-manager -o
json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1
']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb
= rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get
-n openstack-operators deployment mariadb-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1
']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb
= rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get
-n openstack-operators deployment mariadb-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\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/keystone-kuttl-tests/mariadb/cr
']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\n+
oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash
scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests
']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+
'[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+
mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc
apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system
created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io
metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system
\ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op
']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op
']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+
'[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr
']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr
']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+
echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR
/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+
echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR
/home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo
INTERFACE\nINTERFACE\n+ cat\n+ cat\n+ cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\noperatorgroup.operators.coreos.com/metallb-operator
created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout
500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager
-n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources
found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-699596c7b8-klfq4
\ 0/1 ContainerCreating 0 1s\noc wait pod -n metallb-system --for condition=Ready
-l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-699596c7b8-klfq4
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-6f5466444-dd94g
\ 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-6f5466444-dd94g
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-9hh4f 1/2 Running 0 10s\noc wait pod -n metallb-system
-l component=speaker --for condition=Ready --timeout=500s\npod/speaker-9hh4f condition
met\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/keystone-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
038f0cf579da\nNote: switching to '038f0cf579da'.\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 038f0cf Merge pull request #498 from stuggi/pin_baseimage\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml
/home/zuul/ci-framework-data/artifacts/manifests/keystone-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 keystone-kuttl-tests ']'\n+ '[' -z Memcached
']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr
']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+
STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '['
'!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr
']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr
~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached ==
\\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ read
-ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+
(( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!='
unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached
== OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached ==
NetConfig ']'\n+ '[' -n '' ']'\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge
config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+
for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+
popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]:
Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror:
the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+
TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+
SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+
'[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+
pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts
~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until
[ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+
'[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster
']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators
deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError
from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not
found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators
']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++
oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+
exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster
']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators
deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError
from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not
found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators
']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++
oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+
exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster
']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators
deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError
from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not
found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators
']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++
oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++
jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps
\"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+
exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster
']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators
deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+
REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+
'[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++
jq -e .status.availableReplicas\n++ oc get -n openstack-operators deployment infra-operator-controller-manager
-o json\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=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/keystone-kuttl-tests/infra/cr
']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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/keystone-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/keystone-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 keystone-kuttl-tests ']'\n+ '[' -z RabbitmqCluster
']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr
']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+
INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr
']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr
~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster
== \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+
read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+
(( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+
(( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster ==
OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster
== NetConfig ']'\n+ '[' -n '' ']'\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge
config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+
for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake
wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror:
the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+
TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+
SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+
'[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq
']'\n+ OPERATOR_NAME=rabbitmq-cluster\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts
~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until
[ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+
'[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster
= rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators
deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError
from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+
REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '['
-z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++
oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq
-e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\"
not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators
']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+
DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment
rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from
server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+
'[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster
']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++
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++ oc get -n openstack-operators deployment
rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from
server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+
'[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster
']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++
oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq
-e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+
'[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster
= rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators
deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+
REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+
exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash
scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr
']'\n+ NEXT_WAIT_TIME=0\n+ '[' 0 -eq 15 ']'\n+ oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-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 38.129.56.231:5001/openstack-k8s-operators/keystone-operator-index:99ecaf09fca6d0f5b4cbc5282cec7fd7c6b6579a
']'\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/keystone-kuttl-tests/keystone/cr\nbash
scripts/clone-operator-repo.sh\nCloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator
keystone-operator\nCloning into 'keystone-operator'...\ndone.\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml
/home/zuul/ci-framework-data/artifacts/manifests/keystone-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 keystone-kuttl-tests ']'\n+ '[' -z KeystoneAPI
']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr
']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+
STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '['
'!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr
']'\n+ pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr
~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI
== \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+
read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+
(( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!='
unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane
']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '['
-n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e
]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge
config dir\n++ grep -v kustomization\n++ find . -type f -name '*.yaml'\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++ jq
-e .status.availableReplicas\n++ oc get -n openstack-operators deployment keystone-operator-controller-manager
-o json\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'\nmake
keystone_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\"\nKEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests
kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml
/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests
--namespace keystone-kuttl-tests \n2025/11/25 08:47:20 kutt-test config testdirs
is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-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 800 seconds for each step\n harness.go:375:
testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests
has 5 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/change_keystone_config\n===
PAUSE kuttl/harness/change_keystone_config\n=== RUN kuttl/harness/fernet_rotation\n===
PAUSE kuttl/harness/fernet_rotation\n=== RUN kuttl/harness/keystone_resources\n===
PAUSE kuttl/harness/keystone_resources\n=== RUN kuttl/harness/keystone_scale\n===
PAUSE kuttl/harness/keystone_scale\n=== RUN kuttl/harness/keystone_tls\n=== PAUSE
kuttl/harness/keystone_tls\n=== CONT kuttl/harness/change_keystone_config\n logger.go:42:
08:47:20 | change_keystone_config | Skipping creation of user-supplied namespace:
keystone-kuttl-tests\n logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone
| starting test step 0-deploy_keystone\n logger.go:42: 08:47:20 | change_keystone_config/0-deploy_keystone
| KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:47:20
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:20
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:21 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:21
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:22 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:23
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:24 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:24
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:25 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:25
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:26 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:26
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:27 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:27
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:28 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:28
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:29 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:30
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:31 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:31
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:32 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:32
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:33 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:33
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:34 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:34
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:35 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:35
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:36 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:37
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:38 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:38
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:39 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:39
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:40 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:40
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:41 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:41
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:42 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:42
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:43 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:44
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:45 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:45
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:46 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:46
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:47 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:47
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:48 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:48
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:49 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:50
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:51 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:51
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:52 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:52
| change_keystone_config/0-deploy_keystone | Endpoints URLS: :
do not match regex\n logger.go:42: 08:47:53 | change_keystone_config/0-deploy_keystone
| running command: [sh -c # the actual addresses of the apiEndpoints are platform
specific, so we can't rely on\n # kuttl asserts to check them. This short
script gathers the addresses and checks that\n # the three endpoints are
defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:54
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:55
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:56
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:58
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:47:59
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:00
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:01
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:02
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:04
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:05
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:06
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:07
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:08
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:10
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:11
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:12
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:13
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:14
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:16
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:17
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:18
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:19
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:20
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:22
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:23
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:24
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:25
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:26
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:27
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:29
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:30
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:31
| change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual
addresses of the apiEndpoints are platform specific, so we can't rely on\n #
kuttl asserts to check them. This short script gathers the addresses and checks
that\n # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:31
| change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone\n
\ logger.go:42: 08:48:31 | change_keystone_config/1- | starting test step 1-\n
\ logger.go:42: 08:48:31 | change_keystone_config/1- | running command: [sh -c
$KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]\n logger.go:42:
08:48:31 | change_keystone_config/1- | test step completed 1-\n logger.go:42:
08:48:31 | change_keystone_config/2-change_keystone_config | starting test step
2-change_keystone_config\n logger.go:42: 08:48:31 | change_keystone_config/2-change_keystone_config
| running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json'
-p='[{\"op\": \"replace\", \"path\": \"/spec/customServiceConfig\", \"value\": \"[DEFAULT]\\ndebug
= false\"}]'\n ]\n logger.go:42: 08:48:32 | change_keystone_config/2-change_keystone_config
| keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 08:48:32
| change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh
--reverse]\n logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config
| running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh
--reverse]\n logger.go:42: 08:48:33 | change_keystone_config/2-change_keystone_config
| error: arguments in resource/name form may not have more than one slash\n logger.go:42:
08:48:33 | change_keystone_config/2-change_keystone_config | test step completed
2-change_keystone_config\n logger.go:42: 08:48:33 | change_keystone_config/3-cleanup-keystone
| starting test step 3-cleanup-keystone\n logger.go:42: 08:48:37 | change_keystone_config/3-cleanup-keystone
| test step completed 3-cleanup-keystone\n logger.go:42: 08:48:37 | change_keystone_config
| skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_scale\n logger.go:42:
08:48:37 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n
\ logger.go:42: 08:48:37 | keystone_scale/0-deploy_keystone | starting test step
0-deploy_keystone\n logger.go:42: 08:48:37 | keystone_scale/0-deploy_keystone
| KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 08:48:38
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:38
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:39 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:39
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:40 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:40
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:41 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:41
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:42 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:42
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:43 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:44
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:45 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:45
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:46 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:46
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:47 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:47
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:48 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:48
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:49 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:49
| keystone_scale/0-deploy_keystone | Endpoints URLS: : do not
match regex\n logger.go:42: 08:48:50 | keystone_scale/0-deploy_keystone | running
command: [sh -c # the actual addresses of the apiEndpoints are platform specific,
so we can't rely on\n # kuttl asserts to check them. This short script gathers
the addresses and checks that\n # the three endpoints are defined and their
addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:52
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:53
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:54
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:55
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:56
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:58
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:48:59
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:00
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:01
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:02
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:04
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:05
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:06
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:07
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\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_KEYSTONE_\\([^_]*\\)_.*|\\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 keystoneapi keystone -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 ]\n logger.go:42: 08:49:08
| keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses
of the apiEndpoints are platform specific, so we can't rely on\n # kuttl
asserts to check them. This short script gathers the addresses and checks that\n
\ # the three endpoints are defined and their addresses follow the default
pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n
\ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n
\ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n
\ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [
-z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints
URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n
\ # when using image digests the containerImage URLs are SHA's so we verify
them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers
0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc
get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n
\ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_