2025-11-25 09:23:50.364095 | Job console starting... 2025-11-25 09:23:50.382272 | Updating repositories 2025-11-25 09:23:50.497092 | Preparing job workspace 2025-11-25 09:24:01.178729 | Running Ansible setup... 2025-11-25 09:24:06.624002 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/pre.yaml@master] 2025-11-25 09:24:07.287801 | 2025-11-25 09:24:07.287998 | PLAY [localhost] 2025-11-25 09:24:07.298538 | 2025-11-25 09:24:07.298671 | TASK [Gathering Facts] 2025-11-25 09:24:08.459497 | localhost | ok 2025-11-25 09:24:08.490290 | 2025-11-25 09:24:08.490462 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2025-11-25 09:24:08.971726 | localhost -> localhost | changed 2025-11-25 09:24:08.977588 | 2025-11-25 09:24:08.977661 | TASK [log-inventory : Copy ansible inventory to logs dir] 2025-11-25 09:24:09.958164 | localhost -> localhost | changed 2025-11-25 09:24:09.966870 | 2025-11-25 09:24:09.966940 | TASK [Setup log path fact] 2025-11-25 09:24:09.985454 | localhost | ok 2025-11-25 09:24:09.996863 | 2025-11-25 09:24:09.996927 | TASK [set-zuul-log-path-fact : Set log path for a build] 2025-11-25 09:24:10.025143 | localhost | ok 2025-11-25 09:24:10.032556 | 2025-11-25 09:24:10.032617 | TASK [emit-job-header : Print job information] 2025-11-25 09:24:10.070375 | # Job Information 2025-11-25 09:24:10.070506 | Ansible Version: 2.15.12 2025-11-25 09:24:10.070532 | Job: keystone-operator-kuttl 2025-11-25 09:24:10.070551 | Pipeline: github-check 2025-11-25 09:24:10.070569 | Executor: ze04.softwarefactory-project.io 2025-11-25 09:24:10.070586 | Triggered by: https://github.com/openstack-k8s-operators/keystone-operator/pull/567 2025-11-25 09:24:10.070604 | Log URL (when completed): https://logserver.rdoproject.org/29a/rdoproject.org/29ad8b04723841fbba74a0d4d232a6b9/ 2025-11-25 09:24:10.070622 | Event ID: 5f8ee100-c9dd-11f0-8527-fb10d6789847 2025-11-25 09:24:10.074615 | 2025-11-25 09:24:10.074696 | LOOP [emit-job-header : Print node information] 2025-11-25 09:24:10.200408 | localhost | ok: 2025-11-25 09:24:10.200870 | localhost | # Node Information 2025-11-25 09:24:10.200912 | localhost | Inventory Hostname: controller 2025-11-25 09:24:10.200935 | localhost | Hostname: np0005534733 2025-11-25 09:24:10.200954 | localhost | Username: zuul 2025-11-25 09:24:10.200973 | localhost | Distro: CentOS 9 2025-11-25 09:24:10.200990 | localhost | Provider: vexxhost-nodepool-tripleo 2025-11-25 09:24:10.201007 | localhost | Region: RegionOne 2025-11-25 09:24:10.201022 | localhost | Label: cloud-centos-9-stream-tripleo-medium 2025-11-25 09:24:10.201038 | localhost | Product Name: OpenStack Nova 2025-11-25 09:24:10.201054 | localhost | Interface IP: 38.129.56.20 2025-11-25 09:24:10.274859 | localhost | ok: 2025-11-25 09:24:10.275000 | localhost | # Node Information 2025-11-25 09:24:10.275051 | localhost | Inventory Hostname: crc 2025-11-25 09:24:10.275098 | localhost | Hostname: crc 2025-11-25 09:24:10.275137 | localhost | Username: core 2025-11-25 09:24:10.275173 | localhost | Distro: RedHat 4.18 2025-11-25 09:24:10.275209 | localhost | Provider: vexxhost-nodepool-tripleo 2025-11-25 09:24:10.275245 | localhost | Region: RegionOne 2025-11-25 09:24:10.275281 | localhost | Label: crc-cloud-ocp-4-18-1-3xl 2025-11-25 09:24:10.275316 | localhost | Product Name: OpenStack Nova 2025-11-25 09:24:10.275351 | localhost | Interface IP: 38.102.83.5 2025-11-25 09:24:10.324389 | 2025-11-25 09:24:10.324591 | PLAY [all] 2025-11-25 09:24:10.340106 | 2025-11-25 09:24:10.340255 | TASK [Gather network facts] 2025-11-25 09:24:10.844460 | controller | ok 2025-11-25 09:24:11.050450 | crc | ok 2025-11-25 09:24:11.099225 | 2025-11-25 09:24:11.099323 | TASK [include_role : start-zuul-console] 2025-11-25 09:24:11.126157 | controller | ok 2025-11-25 09:24:11.141613 | crc | ok 2025-11-25 09:24:11.159419 | 2025-11-25 09:24:11.159487 | TASK [start-zuul-console : Start zuul_console daemon.] 2025-11-25 09:24:11.577928 | controller | ok 2025-11-25 09:24:11.590819 | crc | ok 2025-11-25 09:24:11.614456 | 2025-11-25 09:24:11.614550 | TASK [include_role : add-build-sshkey] 2025-11-25 09:24:11.655326 | crc | ok 2025-11-25 09:24:11.669605 | controller | ok 2025-11-25 09:24:11.688339 | 2025-11-25 09:24:11.688416 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2025-11-25 09:24:11.950483 | controller -> localhost | ok 2025-11-25 09:24:11.963915 | 2025-11-25 09:24:11.964054 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2025-11-25 09:24:12.012976 | controller | ok 2025-11-25 09:24:12.021339 | crc | ok 2025-11-25 09:24:12.088731 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2025-11-25 09:24:12.088867 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2025-11-25 09:24:12.096330 | 2025-11-25 09:24:12.096409 | TASK [add-build-sshkey : Create Temp SSH key] 2025-11-25 09:24:13.077603 | controller -> localhost | Generating public/private rsa key pair. 2025-11-25 09:24:13.078052 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/29ad8b04723841fbba74a0d4d232a6b9_id_rsa. 2025-11-25 09:24:13.078097 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/29ad8b04723841fbba74a0d4d232a6b9_id_rsa.pub. 2025-11-25 09:24:13.078131 | controller -> localhost | The key fingerprint is: 2025-11-25 09:24:13.078164 | controller -> localhost | SHA256:/Y8Tbgk3v1VM6URsDF0Xj/BiSyKjptEJpBagAmHLw6c zuul-build-sshkey 2025-11-25 09:24:13.078193 | controller -> localhost | The key's randomart image is: 2025-11-25 09:24:13.078221 | controller -> localhost | +---[RSA 3072]----+ 2025-11-25 09:24:13.078247 | controller -> localhost | |++. . ..=o=| 2025-11-25 09:24:13.078275 | controller -> localhost | |* .+ o.*+| 2025-11-25 09:24:13.078301 | controller -> localhost | |o=o.. o . + +oo| 2025-11-25 09:24:13.078327 | controller -> localhost | |..+ o o + + ooo | 2025-11-25 09:24:13.078353 | controller -> localhost | | E . = S . . .o| 2025-11-25 09:24:13.078379 | controller -> localhost | | + ..+ .| 2025-11-25 09:24:13.078404 | controller -> localhost | | . +.= .| 2025-11-25 09:24:13.078429 | controller -> localhost | | =o.. | 2025-11-25 09:24:13.078455 | controller -> localhost | | ...o. | 2025-11-25 09:24:13.078479 | controller -> localhost | +----[SHA256]-----+ 2025-11-25 09:24:13.078554 | controller -> localhost | ok: Runtime: 0:00:00.492217 2025-11-25 09:24:13.087825 | 2025-11-25 09:24:13.088429 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2025-11-25 09:24:13.125759 | controller | ok 2025-11-25 09:24:13.145575 | crc | ok 2025-11-25 09:24:13.171817 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2025-11-25 09:24:13.171983 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2025-11-25 09:24:13.184784 | 2025-11-25 09:24:13.184856 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2025-11-25 09:24:13.214744 | controller | skipping: Conditional result was False 2025-11-25 09:24:13.235745 | crc | skipping: Conditional result was False 2025-11-25 09:24:13.241651 | 2025-11-25 09:24:13.241737 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2025-11-25 09:24:13.729985 | controller | changed 2025-11-25 09:24:13.849224 | crc | changed 2025-11-25 09:24:13.861852 | 2025-11-25 09:24:13.861992 | TASK [add-build-sshkey : Make sure user has a .ssh] 2025-11-25 09:24:14.168433 | crc | ok 2025-11-25 09:24:14.189959 | controller | ok 2025-11-25 09:24:14.201545 | 2025-11-25 09:24:14.201766 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2025-11-25 09:24:15.005578 | controller | changed 2025-11-25 09:24:15.071501 | crc | changed 2025-11-25 09:24:15.083171 | 2025-11-25 09:24:15.083307 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2025-11-25 09:24:16.020104 | crc | changed 2025-11-25 09:24:16.300993 | controller | changed 2025-11-25 09:24:16.314917 | 2025-11-25 09:24:16.315121 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2025-11-25 09:24:16.349006 | controller | skipping: Conditional result was False 2025-11-25 09:24:16.370539 | crc | skipping: Conditional result was False 2025-11-25 09:24:16.380877 | 2025-11-25 09:24:16.381008 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2025-11-25 09:24:16.802521 | controller -> localhost | changed 2025-11-25 09:24:16.847689 | 2025-11-25 09:24:16.847913 | TASK [add-build-sshkey : Add back temp key] 2025-11-25 09:24:17.221175 | controller -> localhost | Identity added: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/29ad8b04723841fbba74a0d4d232a6b9_id_rsa (zuul-build-sshkey) 2025-11-25 09:24:17.221432 | controller -> localhost | ok: Runtime: 0:00:00.017367 2025-11-25 09:24:17.231787 | 2025-11-25 09:24:17.231861 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2025-11-25 09:24:17.567388 | controller | ok 2025-11-25 09:24:17.630105 | crc | ok 2025-11-25 09:24:17.634928 | 2025-11-25 09:24:17.634993 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2025-11-25 09:24:17.677190 | controller | skipping: Conditional result was False 2025-11-25 09:24:17.688136 | crc | skipping: Conditional result was False 2025-11-25 09:24:17.705985 | 2025-11-25 09:24:17.706104 | TASK [include_role : validate-host] 2025-11-25 09:24:17.806037 | crc | ok 2025-11-25 09:24:17.812328 | controller | ok 2025-11-25 09:24:17.850816 | 2025-11-25 09:24:17.851015 | TASK [validate-host : Define zuul_info_dir fact] 2025-11-25 09:24:17.888585 | controller | ok 2025-11-25 09:24:17.905074 | crc | ok 2025-11-25 09:24:17.910546 | 2025-11-25 09:24:17.910633 | TASK [validate-host : Ensure Zuul Ansible directory exists] 2025-11-25 09:24:18.215587 | controller -> localhost | ok 2025-11-25 09:24:18.221616 | 2025-11-25 09:24:18.221685 | TASK [validate-host : Collect information about the host] 2025-11-25 09:24:19.032116 | controller | ok 2025-11-25 09:24:19.294946 | crc | ok 2025-11-25 09:24:19.314169 | 2025-11-25 09:24:19.314287 | TASK [validate-host : Sanitize hostname] 2025-11-25 09:24:19.403918 | controller | ok 2025-11-25 09:24:19.432118 | crc | ok 2025-11-25 09:24:19.439155 | 2025-11-25 09:24:19.439222 | TASK [validate-host : Write out all ansible variables/facts known for each host] 2025-11-25 09:24:19.929252 | crc -> localhost | changed 2025-11-25 09:24:19.944998 | controller -> localhost | changed 2025-11-25 09:24:19.956322 | 2025-11-25 09:24:19.956442 | TASK [validate-host : Collect information about zuul worker] 2025-11-25 09:24:20.416313 | controller | ok 2025-11-25 09:24:20.487044 | crc | ok 2025-11-25 09:24:20.498850 | 2025-11-25 09:24:20.499050 | TASK [validate-host : Write out all zuul information for each host] 2025-11-25 09:24:21.067386 | crc -> localhost | changed 2025-11-25 09:24:21.099267 | controller -> localhost | changed 2025-11-25 09:24:21.118661 | 2025-11-25 09:24:21.118879 | TASK [include_role : prepare-workspace-openshift] 2025-11-25 09:24:21.145194 | controller | skipping: Conditional result was False 2025-11-25 09:24:21.152043 | 2025-11-25 09:24:21.152201 | TASK [include_role : remove-zuul-sshkey] 2025-11-25 09:24:21.178806 | controller | skipping: Conditional result was False 2025-11-25 09:24:21.186035 | 2025-11-25 09:24:21.186186 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2025-11-25 09:24:21.502028 | controller | ok: "logs" 2025-11-25 09:24:21.502342 | controller | ok: All items complete 2025-11-25 09:24:21.502370 | 2025-11-25 09:24:21.520593 | crc | ok: "logs" 2025-11-25 09:24:21.756324 | controller | ok: "artifacts" 2025-11-25 09:24:21.773271 | crc | ok: "artifacts" 2025-11-25 09:24:21.965537 | controller | ok: "docs" 2025-11-25 09:24:22.057708 | crc | ok: "docs" 2025-11-25 09:24:22.071899 | 2025-11-25 09:24:22.072090 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2025-11-25 09:24:22.350583 | controller | changed: "logs" 2025-11-25 09:24:22.350885 | controller | ok: All items complete 2025-11-25 09:24:22.350915 | 2025-11-25 09:24:22.395621 | crc | changed: "logs" 2025-11-25 09:24:22.619762 | controller | changed: "artifacts" 2025-11-25 09:24:22.706671 | crc | changed: "artifacts" 2025-11-25 09:24:22.859895 | controller | changed: "docs" 2025-11-25 09:24:23.002246 | crc | changed: "docs" 2025-11-25 09:24:23.171425 | 2025-11-25 09:24:23.171585 | PLAY RECAP 2025-11-25 09:24:23.171648 | controller | ok: 22 changed: 9 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-11-25 09:24:23.171711 | crc | ok: 17 changed: 6 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-11-25 09:24:23.171752 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 09:24:23.171779 | 2025-11-25 09:24:25.736730 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/base-minimal/pre.yaml@master] 2025-11-25 09:24:25.743859 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml@master] 2025-11-25 09:24:26.439911 | 2025-11-25 09:24:26.440142 | PLAY [all] 2025-11-25 09:24:26.475851 | 2025-11-25 09:24:26.475990 | TASK [mirror-info-fork : Set mirror_fqdn if not defined] 2025-11-25 09:24:26.534483 | controller | ok 2025-11-25 09:24:26.552506 | crc | ok 2025-11-25 09:24:26.557403 | 2025-11-25 09:24:26.557482 | TASK [mirror-info-fork : Create /etc/ci] 2025-11-25 09:24:27.033541 | crc | changed 2025-11-25 09:24:27.115843 | controller | changed 2025-11-25 09:24:27.190752 | 2025-11-25 09:24:27.190990 | TASK [mirror-info-fork : Install ci_mirror script] 2025-11-25 09:24:28.321548 | crc | changed 2025-11-25 09:24:28.333625 | controller | changed 2025-11-25 09:24:28.365514 | 2025-11-25 09:24:28.365741 | LOOP [add-authorized-keys : Enable access via build key on all nodes] 2025-11-25 09:24:28.814020 | controller | changed: 2025-11-25 09:24:28.814313 | controller | { 2025-11-25 09:24:28.814363 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com" 2025-11-25 09:24:28.814410 | controller | } 2025-11-25 09:24:28.915760 | crc | changed: 2025-11-25 09:24:28.915892 | crc | { 2025-11-25 09:24:28.915967 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4Z/c9osaGGtU6X8fgELwfj/yayRurfcKA0HMFfdpPxev2dbwljysMuzoVp4OZmW1gvGtyYPSNRvnzgsaabPNKNo2ym5NToCP6UM+KSe93aln4BcM/24mXChYAbXJQ5Bqq/pIzsGs/pKetQN+vwvMxLOwTvpcsCJBXaa981RKML6xj9l/UZ7IIq1HSEKMvPLxZMWdu0Ut8DkCd5F4nOw9Wgml2uYpDCj5LLCrQQ9ChdOMz8hz6SighhNlRpPkvPaet3OXxr/ytFMu7j7vv06CaEnuMMiY2aTWN1Imin9eHAylIqFHta/3gFfQSWt9jXM7owkBLKL7ATzhaAn+fjNupw== arxcruz@redhat.com" 2025-11-25 09:24:28.916001 | crc | } 2025-11-25 09:24:29.081491 | controller | changed: 2025-11-25 09:24:29.081618 | controller | { 2025-11-25 09:24:29.081642 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com" 2025-11-25 09:24:29.081663 | controller | } 2025-11-25 09:24:29.275973 | crc | changed: 2025-11-25 09:24:29.276114 | crc | { 2025-11-25 09:24:29.276147 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS4Fn6k4deCnIlOtLWqZJyksbepjQt04j8Ed8CGx9EKkj0fKiAxiI4TadXQYPuNHMixZy4Nevjb6aDhL5Z906TfvNHKUrjrG7G26a0k8vdc61NEQ7FmcGMWRLwwc6ReDO7lFpzYKBMk4YqfWgBuGU/K6WLKiVW2cVvwIuGIaYrE1OiiX0iVUUk7KApXlDJMXn7qjSYynfO4mF629NIp8FJal38+Kv+HA+0QkE5Y2xXnzD4Lar5+keymiCHRntPppXHeLIRzbt0gxC7v3L72hpQ3BTBEzwHpeS8KY+SX1y5lRMN45thCHfJqGmARJREDjBvWG8JXOPmVIKQtZmVcD5b mandreou@redhat.com" 2025-11-25 09:24:29.276185 | crc | } 2025-11-25 09:24:29.344580 | controller | changed: 2025-11-25 09:24:29.344725 | controller | { 2025-11-25 09:24:29.344762 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com" 2025-11-25 09:24:29.344789 | controller | } 2025-11-25 09:24:29.637631 | controller | changed: 2025-11-25 09:24:29.637830 | controller | { 2025-11-25 09:24:29.637881 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com" 2025-11-25 09:24:29.637920 | controller | } 2025-11-25 09:24:29.654797 | crc | changed: 2025-11-25 09:24:29.654938 | crc | { 2025-11-25 09:24:29.654985 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9MiLfy30deHA7xPOAlew5qUq3UP2gmRMYJi8PtkjFB20/DKeWwWNnkZPqP9AayruRoo51SIiVg870gbZE2jYl+Ncx/FYDe56JeC3ySZsXoAVkC9bP7gkOGqOmJjirvAgPMI7bogVz8i+66Q4Ar7OKTp3762G4IuWPPEg4ce4Y7lx9qWocZapHYq4cYKMxrOZ7SEbFSATBbe2bPZAPKTw8do/Eny+Hq/LkHFhIeyra6cqTFQYShr+zPln0Cr+ro/pDX3bB+1ubFgTpjpkkkQsLhDfR6cCdCWM2lgnS3BTtYj5Ct9/JRPR5YOphqZz+uB+OEu2IL68hmU9vNTth1KeX rlandy@redhat.com" 2025-11-25 09:24:29.655026 | crc | } 2025-11-25 09:24:29.901309 | controller | changed: 2025-11-25 09:24:29.901483 | controller | { 2025-11-25 09:24:29.901542 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com" 2025-11-25 09:24:29.901596 | controller | } 2025-11-25 09:24:30.025171 | crc | changed: 2025-11-25 09:24:30.025351 | crc | { 2025-11-25 09:24:30.025383 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCbgz8gdERiJlk2IKOtkjQxEXejrio6ZYMJAVJYpOIp raukadah@gmail.com" 2025-11-25 09:24:30.025409 | crc | } 2025-11-25 09:24:30.173198 | controller | changed: 2025-11-25 09:24:30.173290 | controller | { 2025-11-25 09:24:30.173320 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com" 2025-11-25 09:24:30.173345 | controller | } 2025-11-25 09:24:30.412474 | crc | changed: 2025-11-25 09:24:30.412632 | crc | { 2025-11-25 09:24:30.412664 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqb3Q/9uDf4LmihQ7xeJ9gA/STIQUFPSfyyV0m8AoQi bshewale@redhat.com" 2025-11-25 09:24:30.412734 | crc | } 2025-11-25 09:24:30.481428 | controller | changed: 2025-11-25 09:24:30.481669 | controller | { 2025-11-25 09:24:30.481756 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen" 2025-11-25 09:24:30.481803 | controller | } 2025-11-25 09:24:30.774779 | controller | changed: 2025-11-25 09:24:30.774970 | controller | { 2025-11-25 09:24:30.775025 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora" 2025-11-25 09:24:30.775070 | controller | } 2025-11-25 09:24:30.792019 | crc | changed: 2025-11-25 09:24:30.792188 | crc | { 2025-11-25 09:24:30.792220 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0I8QqQx0Az2ysJt2JuffucLijhBqnsXKEIx5GyHwxVULROa8VtNFXUDH6ZKZavhiMcmfHB2+TBTda+lDP4FldYj06dGmzCY+IYGa+uDRdxHNGYjvCfLFcmLlzRK6fNbTcui+KlUFUdKe0fb9CRoGKyhlJD5GRkM1Dv+Yb6Bj+RNnmm1fVGYxzmrD2utvffYEb0SZGWxq2R9gefx1q/3wCGjeqvufEV+AskPhVGc5T7t9eyZ4qmslkLh1/nMuaIBFcr9AUACRajsvk6mXrAN1g3HlBf2gQlhi1UEyfbqIQvzzFtsbLDlSum/KmKjy818GzvWjERfQ0VkGzCd9bSLVL dviroel@redhat.com" 2025-11-25 09:24:30.792246 | crc | } 2025-11-25 09:24:31.035957 | controller | changed: 2025-11-25 09:24:31.036095 | controller | { 2025-11-25 09:24:31.036118 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner" 2025-11-25 09:24:31.036137 | controller | } 2025-11-25 09:24:31.176263 | crc | changed: 2025-11-25 09:24:31.176478 | crc | { 2025-11-25 09:24:31.176527 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLOQd4ZLtkZXQGY6UwAr/06ppWQK4fDO3HaqxPk98csyOCBXsliSKK39Bso828+5srIXiW7aI6aC9P5mwi4mUZlGPfJlQbfrcGvY+b/SocuvaGK+1RrHLoJCT52LBhwgrzlXio2jeksZeein8iaTrhsPrOAs7KggIL/rB9hEiB3NaOPWhhoCP4vlW6MEMExGcqB/1FVxXFBPnLkEyW0Lk7ycVflZl2ocRxbfjZi0+tI1Wlinp8PvSQSc/WVrAcDgKjc/mB4ODPOyYy3G8FHgfMsrXSDEyjBKgLKMsdCrAUcqJQWjkqXleXSYOV4q3pzL+9umK+q/e3P/bIoSFQzmJKTU1eDfuvPXmow9F5H54fii/Da7ezlMJ+wPGHJrRAkmzvMbALy7xwswLhZMkOGNtRcPqaKYRmIBKpw3o6bCTtcNUHOtOQnzwY8JzrM2eBWJBXAANYw+9/ho80JIiwhg29CFNpVBuHbql2YxJQNrnl90guN65rYNpDxdIluweyUf8= anbanerj@kaermorhen" 2025-11-25 09:24:31.176567 | crc | } 2025-11-25 09:24:31.306978 | controller | changed: 2025-11-25 09:24:31.307301 | controller | { 2025-11-25 09:24:31.307438 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com" 2025-11-25 09:24:31.307498 | controller | } 2025-11-25 09:24:31.570135 | crc | changed: 2025-11-25 09:24:31.570336 | crc | { 2025-11-25 09:24:31.570392 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3VwV8Im9kRm49lt3tM36hj4Zv27FxGo4C1Q/0jqhzFmHY7RHbmeRr8ObhwWoHjXSozKWg8FL5ER0z3hTwL0W6lez3sL7hUaCmSuZmG5Hnl3x4vTSxDI9JZ/Y65rtYiiWQo2fC5xJhU/4+0e5e/pseCm8cKRSu+SaxhO+sd6FDojA2x1BzOzKiQRDy/1zWGp/cZkxcEuB1wHI5LMzN03c67vmbu+fhZRAUO4dQkvcnj2LrhQtpa+ytvnSjr8icMDosf1OsbSffwZFyHB/hfWGAfe0eIeSA2XPraxiPknXxiPKx2MJsaUTYbsZcm3EjFdHBBMumw5rBI74zLrMRvCO9GwBEmGT4rFng1nP+yw5DB8sn2zqpOsPg1LYRwCPOUveC13P6pgsZZPh812e8v5EKnETct+5XI3dVpdw6CnNiLwAyVAF15DJvBGT/u1k0Myg/bQn+Gv9k2MSj6LvQmf6WbZu2Wgjm30z3FyCneBqTL7mLF19YXzeC0ufHz5pnO1E= dasm@fedora" 2025-11-25 09:24:31.570438 | crc | } 2025-11-25 09:24:31.605192 | controller | changed: 2025-11-25 09:24:31.605398 | controller | { 2025-11-25 09:24:31.605447 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com" 2025-11-25 09:24:31.605486 | controller | } 2025-11-25 09:24:31.891386 | controller | changed: 2025-11-25 09:24:31.891723 | controller | { 2025-11-25 09:24:31.891809 | controller | "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com" 2025-11-25 09:24:31.891858 | controller | } 2025-11-25 09:24:31.937013 | crc | changed: 2025-11-25 09:24:31.937248 | crc | { 2025-11-25 09:24:31.937313 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner" 2025-11-25 09:24:31.937354 | crc | } 2025-11-25 09:24:32.176382 | controller | changed: 2025-11-25 09:24:32.176608 | controller | { 2025-11-25 09:24:32.176672 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpU/BepK3qX0NRf5Np+dOBDqzQEefhNrw2DCZaH3uWW rebtoor@monolith" 2025-11-25 09:24:32.176770 | controller | } 2025-11-25 09:24:32.311607 | crc | changed: 2025-11-25 09:24:32.311844 | crc | { 2025-11-25 09:24:32.311894 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDercCMGn8rW1C4P67tHgtflPdTeXlpyUJYH+6XDd2lR jgilaber@redhat.com" 2025-11-25 09:24:32.311933 | crc | } 2025-11-25 09:24:32.429975 | controller | changed: 2025-11-25 09:24:32.430490 | controller | { 2025-11-25 09:24:32.430556 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel" 2025-11-25 09:24:32.430598 | controller | } 2025-11-25 09:24:32.683143 | crc | changed: 2025-11-25 09:24:32.683289 | crc | { 2025-11-25 09:24:32.683312 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMI6kkg9Wg0sG7jIJmyZemEBwUn1yzNpQQd3gnulOmZ adrianfuscoarnejo@gmail.com" 2025-11-25 09:24:32.683330 | crc | } 2025-11-25 09:24:32.690157 | controller | changed: 2025-11-25 09:24:32.690218 | controller | { 2025-11-25 09:24:32.690240 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux" 2025-11-25 09:24:32.690259 | controller | } 2025-11-25 09:24:32.939558 | controller | changed: 2025-11-25 09:24:32.939704 | controller | { 2025-11-25 09:24:32.939730 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr" 2025-11-25 09:24:32.939749 | controller | } 2025-11-25 09:24:33.102526 | crc | changed: 2025-11-25 09:24:33.102667 | crc | { 2025-11-25 09:24:33.102714 | crc | "public_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPijwpQu/3jhhhBZInXNOLEH57DrknPc3PLbsRvYyJIFzwYjX+WD4a7+nGnMYS42MuZk6TJcVqgnqofVx4isoD4= ramishra@redhat.com" 2025-11-25 09:24:33.102735 | crc | } 2025-11-25 09:24:33.186923 | controller | changed: 2025-11-25 09:24:33.187065 | controller | { 2025-11-25 09:24:33.187089 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com" 2025-11-25 09:24:33.187109 | controller | } 2025-11-25 09:24:33.437324 | controller | changed: 2025-11-25 09:24:33.437507 | controller | { 2025-11-25 09:24:33.437557 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb" 2025-11-25 09:24:33.437597 | controller | } 2025-11-25 09:24:33.478580 | crc | changed: 2025-11-25 09:24:33.478833 | crc | { 2025-11-25 09:24:33.478888 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpU/BepK3qX0NRf5Np+dOBDqzQEefhNrw2DCZaH3uWW rebtoor@monolith" 2025-11-25 09:24:33.478927 | crc | } 2025-11-25 09:24:33.697195 | controller | changed: 2025-11-25 09:24:33.697329 | controller | { 2025-11-25 09:24:33.697360 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9" 2025-11-25 09:24:33.697384 | controller | } 2025-11-25 09:24:33.841324 | crc | changed: 2025-11-25 09:24:33.841650 | crc | { 2025-11-25 09:24:33.841783 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDK0iKdi8jQTpQrDdLVH/AAgLVYyTXF7AQ1gjc/5uT3t ykarel@yatinkarel" 2025-11-25 09:24:33.841827 | crc | } 2025-11-25 09:24:33.939137 | controller | changed: 2025-11-25 09:24:33.939243 | controller | { 2025-11-25 09:24:33.939265 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora" 2025-11-25 09:24:33.939283 | controller | } 2025-11-25 09:24:34.200949 | controller | changed: 2025-11-25 09:24:34.201069 | controller | { 2025-11-25 09:24:34.201097 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac" 2025-11-25 09:24:34.201121 | controller | } 2025-11-25 09:24:34.209712 | crc | changed: 2025-11-25 09:24:34.209762 | crc | { 2025-11-25 09:24:34.209783 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF/V/cLotA6LZeO32VL45Hd78skuA2lJA425Sm2LlQeZ fmount@horcrux" 2025-11-25 09:24:34.209801 | crc | } 2025-11-25 09:24:34.450925 | controller | changed: 2025-11-25 09:24:34.451043 | controller | { 2025-11-25 09:24:34.451071 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop" 2025-11-25 09:24:34.451093 | controller | } 2025-11-25 09:24:34.575915 | crc | changed: 2025-11-25 09:24:34.576050 | crc | { 2025-11-25 09:24:34.576074 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDa7QCjuDMVmRPo1rREbGwzYeBCYVN+Ou/3WKXZEC6Sr" 2025-11-25 09:24:34.576095 | crc | } 2025-11-25 09:24:34.712148 | controller | changed: 2025-11-25 09:24:34.712262 | controller | { 2025-11-25 09:24:34.712284 | controller | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com" 2025-11-25 09:24:34.712303 | controller | } 2025-11-25 09:24:34.961453 | crc | changed: 2025-11-25 09:24:34.961605 | crc | { 2025-11-25 09:24:34.961642 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfNtF7NvKl915TGsGGoseUb06Hj8L/S4toWf0hExeY+F00woL6NvBlJD0nDct+P5a22I4EhvoQCRQ8reaPCm1lybR3uiRIJsj+8zkVvLwby9LXzfZorlNG9ofjd00FEmB09uW/YvTl6Q9XwwwX6tInzIOv3TMqTHHGOL74ibbj8J/FJR0cFEyj0z4WQRvtkh32xAHl83gbuINryMt0sqRI+clj2381NKL55DRLQrVw0gsfqqxiHAnXg21qWmc4J+b9e9kiuAFQjcjwTVkwJCcg3xbPwC/qokYRby/Y5S40UUd7/jEARGXT7RZgpzTuDd1oZiCVrnrqJNPaMNdVv5MLeFdf1B7iIe5aa/fGouX7AO4SdKhZUdnJmCFAGvjC6S3JMZ2wAcUl+OHnssfmdj7XL50cLo27vjuzMtLAgSqi6N99m92WCF2s8J9aVzszX7Xz9OKZCeGsiVJp3/NdABKzSEAyM9xBD/5Vho894Sav+otpySHe3p6RUTgbB5Zu8VyZRZ/UtB3ueXxyo764yrc6qWIDqrehm84Xm9g+/jpIBzGPl07NUNJpdt/6Sgf9RIKXw/7XypO5yZfUcuFNGTxLfqjTNrtgLZNcjfav6sSdVXVcMPL//XNuRdKmVFaO76eV/oGMQGr1fGcCD+N+CpI7+Q+fCNB6VFWG4nZFuI/Iuw== averdagu@redhat.com" 2025-11-25 09:24:34.961702 | crc | } 2025-11-25 09:24:34.984897 | controller | changed: 2025-11-25 09:24:34.985025 | controller | { 2025-11-25 09:24:34.985048 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com" 2025-11-25 09:24:34.985066 | controller | } 2025-11-25 09:24:35.258794 | controller | changed: 2025-11-25 09:24:35.258904 | controller | { 2025-11-25 09:24:35.258927 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com" 2025-11-25 09:24:35.258945 | controller | } 2025-11-25 09:24:35.369254 | crc | changed: 2025-11-25 09:24:35.369375 | crc | { 2025-11-25 09:24:35.369398 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDq8l27xI+QlQVdS4djp9ogSoyrNE2+Ox6vKPdhSNL1J3PE5w+WCSvMz9A5gnNuH810zwbekEApbxTze/gLQJwBHA52CChfURpXrFaxY7ePXRElwKAL3mJfzBWY/c5jnNL9TCVmFJTGZkFZP3Nh+BMgZvL6xBkt3WKm6Uq18qzd9XeKcZusrA+O+uLv1fVeQnadY9RIqOCyeFYCzLWrUfTyE8x/XG0hAWIM7qpnF2cALQS2h9n4hW5ybiUN790H08wf9hFwEf5nxY9Z9dVkPFQiTSGKNBzmnCXU9skxS/xhpFjJ5duGSZdtAHe9O+nGZm9c67hxgtf8e5PDuqAdXEv2cf6e3VBAt+Bz8EKI3yosTj0oZHfwr42Yzb1l/SKy14Rggsrc9KAQlrGXan6+u2jcQqqx7l+SWmnpFiWTV9u5cWj2IgOhApOitmRBPYqk9rE2usfO0hLn/Pj/R/Nau4803e1/EikdLE7Ps95s9mX5jRDjAoUa2JwFF5RsVFyL910= ashigupt@ashigupt.remote.csb" 2025-11-25 09:24:35.369418 | crc | } 2025-11-25 09:24:35.562046 | controller | changed: 2025-11-25 09:24:35.562184 | controller | { 2025-11-25 09:24:35.562207 | controller | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono" 2025-11-25 09:24:35.562226 | controller | } 2025-11-25 09:24:35.749534 | crc | changed: 2025-11-25 09:24:35.749671 | crc | { 2025-11-25 09:24:35.749734 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9" 2025-11-25 09:24:35.749767 | crc | } 2025-11-25 09:24:35.749818 | crc | changed: All items complete 2025-11-25 09:24:35.749855 | 2025-11-25 09:24:36.145445 | crc | changed: 2025-11-25 09:24:36.145773 | crc | { 2025-11-25 09:24:36.145845 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASASQOH2BcOyLKuuDOdWZlPi2orcjcA8q4400T73DLH evallesp@fedora" 2025-11-25 09:24:36.145890 | crc | } 2025-11-25 09:24:36.533139 | crc | changed: 2025-11-25 09:24:36.533337 | crc | { 2025-11-25 09:24:36.533394 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILeBWlamUph+jRKV2qrx1PGU7vWuGIt5+z9k96I8WehW amsinha@amsinha-mac" 2025-11-25 09:24:36.533443 | crc | } 2025-11-25 09:24:36.905812 | crc | changed: 2025-11-25 09:24:36.905944 | crc | { 2025-11-25 09:24:36.905967 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANvVgvJBlK3gb1yz5uef/JqIGq4HLEmY2dYA8e37swb morenod@redhat-laptop" 2025-11-25 09:24:36.905985 | crc | } 2025-11-25 09:24:37.262799 | crc | changed: 2025-11-25 09:24:37.263027 | crc | { 2025-11-25 09:24:37.263080 | crc | "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZdI7t1cxYx65heVI24HTV4F7oQLW1zyfxHreL2TIJKxjyrUUKIFEUmTutcBlJRLNT2Eoix6x1sOw9YrchloCLcn//SGfTElr9mSc5jbjb7QXEU+zJMhtxyEJ1Po3CUGnj7ckiIXw7wcawZtrEOAQ9pH3ExYCJcEMiyNjRQZCxT3tPK+S4B95EWh5Fsrz9CkwpjNRPPH7LigCeQTM3Wc7r97utAslBUUvYceDSLA7rMgkitJE38b7rZBeYzsGQ8YYUBjTCtehqQXxCRjizbHWaaZkBU+N3zkKB6n/iCNGIO690NK7A/qb6msTijiz1PeuM8ThOsi9qXnbX5v0PoTpcFSojV7NHAQ71f0XXuS43FhZctT+Dcx44dT8Fb5vJu2cJGrk+qF8ZgJYNpRS7gPg0EG2EqjK7JMf9ULdjSu0r+KlqIAyLvtzT4eOnQipoKlb/WG5D/0ohKv7OMQ352ggfkBFIQsRXyyTCT98Ft9juqPuahi3CAQmP4H9dyE+7+Kz437PEtsxLmfm6naNmWi7Ee1DqWPwS8rEajsm4sNM4wW9gdBboJQtc0uZw0DfLj1I9r3Mc8Ol0jYtz0yNQDSzVLrGCaJlC311trU70tZ+ZkAVV6Mn8lOhSbj1cK0lvSr6ZK4dgqGl3I1eTZJJhbLNdg7UOVaiRx9543+C/p/As7w== brjackma@redhat.com" 2025-11-25 09:24:37.263126 | crc | } 2025-11-25 09:24:37.628636 | crc | changed: 2025-11-25 09:24:37.628799 | crc | { 2025-11-25 09:24:37.628824 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwedoZ0TWPJX/z/4TAbO/kKcDZOQVgRH0hAqrL5UCI1 vcastell@redhat.com" 2025-11-25 09:24:37.628846 | crc | } 2025-11-25 09:24:38.034524 | crc | changed: 2025-11-25 09:24:38.034733 | crc | { 2025-11-25 09:24:38.034789 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmv8sE8GCk6ZTPIqF0FQrttBdL3mq7rCm/IJy0xDFh7 michburk@redhat.com" 2025-11-25 09:24:38.034846 | crc | } 2025-11-25 09:24:38.392906 | crc | changed: 2025-11-25 09:24:38.393092 | crc | { 2025-11-25 09:24:38.393142 | crc | "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy6GpGEtwevXEEn4mmLR5lmSLe23dGgAvzkB9DMNbkf rsafrono@rsafrono" 2025-11-25 09:24:38.393181 | crc | } 2025-11-25 09:24:38.456003 | 2025-11-25 09:24:38.459822 | TASK [Set timezone to UTC] 2025-11-25 09:24:39.037801 | controller | changed: executed `/bin/timedatectl set-timezone UTC` 2025-11-25 09:24:39.087305 | crc | ok 2025-11-25 09:24:39.100000 | 2025-11-25 09:24:39.100169 | TASK [Create nodepool directory] 2025-11-25 09:24:39.437776 | controller | changed 2025-11-25 09:24:39.514105 | crc | changed 2025-11-25 09:24:39.524055 | 2025-11-25 09:24:39.524173 | TASK [Create nodepool sub_nodes file] 2025-11-25 09:24:40.352616 | controller | changed 2025-11-25 09:24:40.373521 | crc | changed 2025-11-25 09:24:40.380407 | 2025-11-25 09:24:40.380493 | TASK [Create nodepool sub_nodes_private file] 2025-11-25 09:24:41.094372 | controller | changed 2025-11-25 09:24:41.367116 | crc | changed 2025-11-25 09:24:41.379838 | 2025-11-25 09:24:41.379973 | LOOP [Populate nodepool sub_nodes file] 2025-11-25 09:24:41.443664 | 2025-11-25 09:24:41.444023 | LOOP [Populate nodepool sub_nodes_private file] 2025-11-25 09:24:41.523396 | 2025-11-25 09:24:41.523631 | TASK [Create nodepool primary file] 2025-11-25 09:24:41.555803 | controller | skipping: Conditional result was False 2025-11-25 09:24:41.566827 | crc | skipping: Conditional result was False 2025-11-25 09:24:41.574461 | 2025-11-25 09:24:41.574545 | TASK [Create nodepool node_private for this node] 2025-11-25 09:24:42.340395 | controller | changed 2025-11-25 09:24:42.422143 | crc | changed 2025-11-25 09:24:42.438164 | 2025-11-25 09:24:42.439904 | LOOP [Copy ssh keys to nodepool directory] 2025-11-25 09:24:42.938849 | crc | ok: Item: id_rsa Runtime: 0:00:00.008636 2025-11-25 09:24:42.939259 | 2025-11-25 09:24:42.958853 | controller | ok: Item: id_rsa Runtime: 0:00:00.018879 2025-11-25 09:24:43.210752 | crc | ok: Item: id_rsa.pub Runtime: 0:00:00.006955 2025-11-25 09:24:43.222107 | controller | ok: Item: id_rsa.pub Runtime: 0:00:00.007178 2025-11-25 09:24:43.246459 | 2025-11-25 09:24:43.246739 | TASK [Add sudoers role for zuul-sudo-grep.sh] 2025-11-25 09:24:44.051035 | controller | changed 2025-11-25 09:24:44.086298 | crc | changed 2025-11-25 09:24:44.098289 | 2025-11-25 09:24:44.098435 | TASK [Validate sudoers config after edits] 2025-11-25 09:24:44.519786 | controller | /etc/sudoers: parsed OK 2025-11-25 09:24:44.520049 | controller | /etc/sudoers.d/90-cloud-init-users: parsed OK 2025-11-25 09:24:44.520081 | controller | /etc/sudoers.d/zuul: parsed OK 2025-11-25 09:24:44.520179 | controller | /etc/sudoers.d/zuul-sudo-grep: parsed OK 2025-11-25 09:24:44.517785 | crc | /etc/sudoers: parsed OK 2025-11-25 09:24:44.517964 | crc | /etc/sudoers.d/coreos-sudo-group: parsed OK 2025-11-25 09:24:44.517984 | crc | /etc/sudoers.d/zuul-sudo-grep: parsed OK 2025-11-25 09:24:44.715253 | controller | ok: Runtime: 0:00:00.010698 2025-11-25 09:24:44.730812 | crc | ok: Runtime: 0:00:00.036931 2025-11-25 09:24:44.743374 | 2025-11-25 09:24:44.743506 | TASK [Show the environment passed in to job shell scripts] 2025-11-25 09:24:45.120389 | controller | SHELL=/bin/bash 2025-11-25 09:24:45.120431 | controller | ZUUL_PROJECT=openstack-k8s-operators/keystone-operator 2025-11-25 09:24:45.120441 | controller | ZUUL_SHORT_PROJECT_NAME=keystone-operator 2025-11-25 09:24:45.120448 | controller | ZUUL_CHANGES=openstack-k8s-operators/keystone-operator:main:refs/changes/67/567/aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:24:45.120454 | controller | PWD=/home/zuul 2025-11-25 09:24:45.120460 | controller | ZUUL_PIPELINE=github-check 2025-11-25 09:24:45.120467 | controller | LOGNAME=zuul 2025-11-25 09:24:45.120473 | controller | XDG_SESSION_TYPE=tty 2025-11-25 09:24:45.120479 | controller | _=/usr/bin/env 2025-11-25 09:24:45.120485 | controller | MOTD_SHOWN=pam 2025-11-25 09:24:45.120491 | controller | HOME=/home/zuul 2025-11-25 09:24:45.120497 | controller | LANG=en_US.UTF-8 2025-11-25 09:24:45.120503 | controller | SSH_CONNECTION=38.102.83.114 33062 38.129.56.20 22 2025-11-25 09:24:45.120509 | controller | TOX_TESTENV_PASSENV=ZUUL_UUID ZUUL_PROJECT ZUUL_SHORT_PROJECT_NAME ZUUL_PIPELINE ZUUL_VOTING WORKSPACE BUILD_TIMEOUT ZUUL_BRANCH ZUUL_CHANGES ZUUL_CHANGE_IDS ZUUL_CHANGE ZUUL_PATCHSET 2025-11-25 09:24:45.120517 | controller | ZUUL_CHANGE_IDS=567,aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:24:45.120523 | controller | WORKSPACE=/home/zuul/workspace 2025-11-25 09:24:45.120529 | controller | XDG_SESSION_CLASS=user 2025-11-25 09:24:45.120535 | controller | SELINUX_ROLE_REQUESTED= 2025-11-25 09:24:45.120541 | controller | LESSOPEN=||/usr/bin/lesspipe.sh %s 2025-11-25 09:24:45.120547 | controller | USER=zuul 2025-11-25 09:24:45.120553 | controller | ZUUL_VOTING=False 2025-11-25 09:24:45.120559 | controller | BUILD_TIMEOUT=7200000 2025-11-25 09:24:45.120565 | controller | SELINUX_USE_CURRENT_RANGE= 2025-11-25 09:24:45.120571 | controller | SHLVL=1 2025-11-25 09:24:45.120577 | controller | ZUUL_PATCHSET=aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:24:45.120583 | controller | XDG_SESSION_ID=1 2025-11-25 09:24:45.120594 | controller | ZUUL_BRANCH=main 2025-11-25 09:24:45.120619 | controller | XDG_RUNTIME_DIR=/run/user/1000 2025-11-25 09:24:45.120625 | controller | SSH_CLIENT=38.102.83.114 33062 22 2025-11-25 09:24:45.120633 | controller | DEBUGINFOD_URLS=https://debuginfod.centos.org/ 2025-11-25 09:24:45.120639 | controller | DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima: 2025-11-25 09:24:45.120645 | controller | which_declare=declare -f 2025-11-25 09:24:45.120651 | controller | PATH=/home/zuul/.local/bin:/home/zuul/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-11-25 09:24:45.120657 | controller | SELINUX_LEVEL_REQUESTED= 2025-11-25 09:24:45.120663 | controller | ZUUL_CHANGE=567 2025-11-25 09:24:45.120669 | controller | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 2025-11-25 09:24:45.120675 | controller | ZUUL_UUID=29ad8b04723841fbba74a0d4d232a6b9 2025-11-25 09:24:45.120681 | controller | BASH_FUNC_which%%=() { ( alias; 2025-11-25 09:24:45.120687 | controller | eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ 2025-11-25 09:24:45.120693 | controller | } 2025-11-25 09:24:45.142938 | crc | SHELL=/bin/bash 2025-11-25 09:24:45.143000 | crc | ZUUL_PROJECT=openstack-k8s-operators/keystone-operator 2025-11-25 09:24:45.143011 | crc | ZUUL_SHORT_PROJECT_NAME=keystone-operator 2025-11-25 09:24:45.143021 | crc | ZUUL_CHANGES=openstack-k8s-operators/keystone-operator:main:refs/changes/67/567/aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:24:45.143040 | crc | PWD=/var/home/core 2025-11-25 09:24:45.143109 | crc | ZUUL_PIPELINE=github-check 2025-11-25 09:24:45.143120 | crc | LOGNAME=core 2025-11-25 09:24:45.143153 | crc | XDG_SESSION_TYPE=tty 2025-11-25 09:24:45.143161 | crc | _=/usr/bin/env 2025-11-25 09:24:45.143169 | crc | MOTD_SHOWN=pam 2025-11-25 09:24:45.143177 | crc | HOME=/var/home/core 2025-11-25 09:24:45.143184 | crc | LANG=C.UTF-8 2025-11-25 09:24:45.143192 | crc | SSH_CONNECTION=38.102.83.114 51000 38.102.83.5 22 2025-11-25 09:24:45.143201 | crc | TOX_TESTENV_PASSENV=ZUUL_UUID ZUUL_PROJECT ZUUL_SHORT_PROJECT_NAME ZUUL_PIPELINE ZUUL_VOTING WORKSPACE BUILD_TIMEOUT ZUUL_BRANCH ZUUL_CHANGES ZUUL_CHANGE_IDS ZUUL_CHANGE ZUUL_PATCHSET 2025-11-25 09:24:45.143213 | crc | ZUUL_CHANGE_IDS=567,aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:24:45.143221 | crc | WORKSPACE=/home/zuul/workspace 2025-11-25 09:24:45.143229 | crc | XDG_SESSION_CLASS=user 2025-11-25 09:24:45.143237 | crc | SELINUX_ROLE_REQUESTED= 2025-11-25 09:24:45.143245 | crc | LESSOPEN=||/usr/bin/lesspipe.sh %s 2025-11-25 09:24:45.143253 | crc | USER=core 2025-11-25 09:24:45.143261 | crc | ZUUL_VOTING=False 2025-11-25 09:24:45.143269 | crc | BUILD_TIMEOUT=7200000 2025-11-25 09:24:45.143277 | crc | SELINUX_USE_CURRENT_RANGE= 2025-11-25 09:24:45.143285 | crc | SHLVL=1 2025-11-25 09:24:45.143293 | crc | ZUUL_PATCHSET=aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:24:45.143301 | crc | XDG_SESSION_ID=2 2025-11-25 09:24:45.143309 | crc | ZUUL_BRANCH=main 2025-11-25 09:24:45.143317 | crc | XDG_RUNTIME_DIR=/run/user/1000 2025-11-25 09:24:45.143325 | crc | SSH_CLIENT=38.102.83.114 51000 22 2025-11-25 09:24:45.143335 | crc | which_declare=declare -f 2025-11-25 09:24:45.143343 | crc | PATH=/var/home/core/.local/bin:/var/home/core/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin 2025-11-25 09:24:45.143351 | crc | SELINUX_LEVEL_REQUESTED= 2025-11-25 09:24:45.143360 | crc | ZUUL_CHANGE=567 2025-11-25 09:24:45.143368 | crc | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 2025-11-25 09:24:45.143376 | crc | ZUUL_UUID=29ad8b04723841fbba74a0d4d232a6b9 2025-11-25 09:24:45.143384 | crc | BASH_FUNC_which%%=() { ( alias; 2025-11-25 09:24:45.143393 | crc | eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ 2025-11-25 09:24:45.143400 | crc | } 2025-11-25 09:24:45.375147 | controller | ok: Runtime: 0:00:00.006721 2025-11-25 09:24:45.396137 | crc | ok: Runtime: 0:00:00.007982 2025-11-25 09:24:45.402021 | 2025-11-25 09:24:45.402094 | TASK [Workaround hardcoded /home/zuul/workspace in zuul_legacy_vars] 2025-11-25 09:24:45.443113 | crc | skipping: Conditional result was False 2025-11-25 09:24:45.443893 | controller | skipping: Conditional result was False 2025-11-25 09:24:45.450787 | 2025-11-25 09:24:45.450860 | TASK [Symlink /home/zuul-worker/workspace] 2025-11-25 09:24:46.025052 | controller | skipping: Conditional result was False 2025-11-25 09:24:46.025899 | crc | skipping: Conditional result was False 2025-11-25 09:24:46.036114 | 2025-11-25 09:24:46.036199 | TASK [Ensure legacy workspace directory] 2025-11-25 09:24:46.364329 | crc | changed 2025-11-25 09:24:46.384274 | controller | changed 2025-11-25 09:24:46.431802 | 2025-11-25 09:24:46.431941 | PLAY RECAP 2025-11-25 09:24:46.431988 | controller | ok: 14 changed: 11 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-11-25 09:24:46.432140 | crc | ok: 14 changed: 10 unreachable: 0 failed: 0 skipped: 5 rescued: 0 ignored: 0 2025-11-25 09:24:46.432287 | 2025-11-25 09:24:46.600373 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml@master] 2025-11-25 09:24:46.605125 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network.yml@master] 2025-11-25 09:24:48.217477 | 2025-11-25 09:24:48.217621 | PLAY [controller] 2025-11-25 09:24:48.240443 | 2025-11-25 09:24:48.240567 | TASK [Debug parameters] 2025-11-25 09:24:48.278776 | controller | ok 2025-11-25 09:24:48.284637 | 2025-11-25 09:24:48.284730 | TASK [Assert crc_ci_bootstrap_cloud_name is defined] 2025-11-25 09:24:48.326383 | controller | ok: All assertions passed 2025-11-25 09:24:48.332265 | 2025-11-25 09:24:48.332335 | TASK [Assert crc_ci_bootstrap_networking is defined and contains the minimum fields] 2025-11-25 09:24:48.372197 | controller | ok: All assertions passed 2025-11-25 09:24:48.377006 | 2025-11-25 09:24:48.377071 | TASK [Assert that the default network exists and has no VLAN tag] 2025-11-25 09:24:48.406390 | controller | ok: All assertions passed 2025-11-25 09:24:48.411261 | 2025-11-25 09:24:48.411321 | LOOP [Assert that all instances has a given fixed IP for each net and default net is present] 2025-11-25 09:24:48.533633 | controller | ok: All assertions passed 2025-11-25 09:24:48.547327 | controller | ok: All assertions passed 2025-11-25 09:24:48.564215 | 2025-11-25 09:24:48.564304 | LOOP [Assert that every host references an valid/declared network] 2025-11-25 09:24:48.629440 | controller | ok: All assertions passed 2025-11-25 09:24:48.629763 | controller | ok: All items complete 2025-11-25 09:24:48.629797 | 2025-11-25 09:24:48.640333 | controller | ok: All assertions passed 2025-11-25 09:24:48.648339 | 2025-11-25 09:24:48.648415 | LOOP [Assert that all instances has in range fixed IP for each net] 2025-11-25 09:24:48.753138 | controller | ok: All assertions passed 2025-11-25 09:24:48.772613 | controller | ok: All assertions passed 2025-11-25 09:24:48.779770 | 2025-11-25 09:24:48.779839 | TASK [Assert that all non-default nets has the vlan tag] 2025-11-25 09:24:48.851243 | controller | ok: All assertions passed 2025-11-25 09:24:48.856190 | 2025-11-25 09:24:48.856253 | TASK [Install required packages] 2025-11-25 09:25:07.087340 | controller | changed 2025-11-25 09:25:07.098039 | 2025-11-25 09:25:07.098173 | TASK [Create openstack config dir] 2025-11-25 09:25:07.506045 | controller | changed 2025-11-25 09:25:07.519513 | 2025-11-25 09:25:07.519668 | LOOP [Create ci dir in etc folder in the controller] 2025-11-25 09:25:07.904561 | controller -> 38.102.83.5 | changed: "crc" 2025-11-25 09:25:07.905033 | controller -> 38.102.83.5 | ok: All items complete 2025-11-25 09:25:07.905096 | 2025-11-25 09:25:08.192971 | controller -> 38.129.56.20 | changed: "controller" 2025-11-25 09:25:08.211487 | 2025-11-25 09:25:08.211642 | TASK [Set global resource names as facts] 2025-11-25 09:25:08.258673 | controller | ok 2025-11-25 09:25:08.266650 | 2025-11-25 09:25:08.266760 | TASK [Generate CA cert file] 2025-11-25 09:25:08.314717 | controller | skipping: Conditional result was False 2025-11-25 09:25:08.323548 | 2025-11-25 09:25:08.323631 | TASK [Update CA certs] 2025-11-25 09:25:08.870823 | controller | skipping: Conditional result was False 2025-11-25 09:25:08.889434 | 2025-11-25 09:25:08.889938 | TASK [Generate clouds config from cloud_secrets secret] 2025-11-25 09:25:09.935199 | controller | changed 2025-11-25 09:25:09.941051 | 2025-11-25 09:25:09.941115 | TASK [Create the default network] 2025-11-25 09:25:13.159804 | controller | admin_state_up: true 2025-11-25 09:25:13.159930 | controller | availability_zone_hints: 2025-11-25 09:25:13.160073 | controller | - nova 2025-11-25 09:25:13.160084 | controller | availability_zones: [] 2025-11-25 09:25:13.160337 | controller | created_at: '2025-11-25T09:25:11Z' 2025-11-25 09:25:13.160469 | controller | description: '' 2025-11-25 09:25:13.160614 | controller | dns_domain: '' 2025-11-25 09:25:13.160772 | controller | id: eeb24873-d42e-4b66-8f14-6d47b7301745 2025-11-25 09:25:13.160955 | controller | ipv4_address_scope: null 2025-11-25 09:25:13.161090 | controller | ipv6_address_scope: null 2025-11-25 09:25:13.161260 | controller | is_default: false 2025-11-25 09:25:13.161391 | controller | is_vlan_qinq: null 2025-11-25 09:25:13.161801 | controller | is_vlan_transparent: true 2025-11-25 09:25:13.161940 | controller | l2_adjacency: true 2025-11-25 09:25:13.162110 | controller | mtu: 1500 2025-11-25 09:25:13.162250 | controller | name: zuul-ci-net-29ad8b04 2025-11-25 09:25:13.162401 | controller | port_security_enabled: false 2025-11-25 09:25:13.162575 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 09:25:13.162735 | controller | provider:network_type: null 2025-11-25 09:25:13.162880 | controller | provider:physical_network: null 2025-11-25 09:25:13.163008 | controller | provider:segmentation_id: null 2025-11-25 09:25:13.163097 | controller | qos_policy_id: null 2025-11-25 09:25:13.163189 | controller | revision_number: 1 2025-11-25 09:25:13.163298 | controller | router:external: false 2025-11-25 09:25:13.163381 | controller | segments: null 2025-11-25 09:25:13.163485 | controller | shared: false 2025-11-25 09:25:13.163574 | controller | status: ACTIVE 2025-11-25 09:25:13.163697 | controller | subnets: [] 2025-11-25 09:25:13.163783 | controller | tags: [] 2025-11-25 09:25:13.163891 | controller | updated_at: '2025-11-25T09:25:11Z' 2025-11-25 09:25:13.477993 | controller | changed 2025-11-25 09:25:13.487301 | 2025-11-25 09:25:13.487398 | TASK [Create subnet - ipv4] 2025-11-25 09:25:15.961522 | controller | allocation_pools: 2025-11-25 09:25:15.961644 | controller | - end: 192.168.122.254 2025-11-25 09:25:15.961657 | controller | start: 192.168.122.2 2025-11-25 09:25:15.961666 | controller | cidr: 192.168.122.0/24 2025-11-25 09:25:15.961767 | controller | created_at: '2025-11-25T09:25:15Z' 2025-11-25 09:25:15.961862 | controller | description: '' 2025-11-25 09:25:15.961958 | controller | dns_nameservers: [] 2025-11-25 09:25:15.962104 | controller | dns_publish_fixed_ip: null 2025-11-25 09:25:15.962234 | controller | enable_dhcp: false 2025-11-25 09:25:15.962338 | controller | gateway_ip: 192.168.122.1 2025-11-25 09:25:15.962450 | controller | host_routes: [] 2025-11-25 09:25:15.962570 | controller | id: cdce5646-f78f-4ff8-ab85-95eb85ee535d 2025-11-25 09:25:15.962707 | controller | ip_version: 4 2025-11-25 09:25:15.962820 | controller | ipv6_address_mode: null 2025-11-25 09:25:15.962946 | controller | ipv6_ra_mode: null 2025-11-25 09:25:15.963088 | controller | name: zuul-ci-subnet-29ad8b04 2025-11-25 09:25:15.963208 | controller | network_id: eeb24873-d42e-4b66-8f14-6d47b7301745 2025-11-25 09:25:15.963327 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 09:25:15.963436 | controller | revision_number: 0 2025-11-25 09:25:15.963556 | controller | segment_id: null 2025-11-25 09:25:15.963706 | controller | service_types: [] 2025-11-25 09:25:15.963813 | controller | subnetpool_id: null 2025-11-25 09:25:15.963912 | controller | tags: [] 2025-11-25 09:25:15.964023 | controller | updated_at: '2025-11-25T09:25:15Z' 2025-11-25 09:25:16.530875 | controller | changed 2025-11-25 09:25:16.540618 | 2025-11-25 09:25:16.540757 | TASK [Set yaml returned data for further usage] 2025-11-25 09:25:16.607082 | controller | ok 2025-11-25 09:25:16.618100 | 2025-11-25 09:25:16.618212 | TASK [Create router] 2025-11-25 09:25:17.179660 | controller | skipping: Conditional result was False 2025-11-25 09:25:17.186886 | 2025-11-25 09:25:17.186989 | TASK [Set router yaml returned data for further usage] 2025-11-25 09:25:17.252345 | controller | skipping: Conditional result was False 2025-11-25 09:25:17.259046 | 2025-11-25 09:25:17.259117 | TASK [Add router to subnet] 2025-11-25 09:25:17.795112 | controller | skipping: Conditional result was False 2025-11-25 09:25:17.807074 | 2025-11-25 09:25:17.807215 | LOOP [Create ports, VLANs and configure them on the instance] 2025-11-25 09:25:17.853373 | controller | ok: 2025-11-25 09:25:17.853759 | controller | { 2025-11-25 09:25:17.853811 | controller | "key": "controller", 2025-11-25 09:25:17.853842 | controller | "value": { 2025-11-25 09:25:17.853869 | controller | "networks": { 2025-11-25 09:25:17.853893 | controller | "default": { 2025-11-25 09:25:17.853917 | controller | "ip": "192.168.122.11" 2025-11-25 09:25:17.853940 | controller | } 2025-11-25 09:25:17.853963 | controller | } 2025-11-25 09:25:17.853985 | controller | } 2025-11-25 09:25:17.854007 | controller | } 2025-11-25 09:25:20.853242 | controller | ok: 2025-11-25 09:25:20.853528 | controller | { 2025-11-25 09:25:20.853563 | controller | "key": "crc", 2025-11-25 09:25:20.853582 | controller | "value": { 2025-11-25 09:25:20.853599 | controller | "networks": { 2025-11-25 09:25:20.853713 | controller | "default": { 2025-11-25 09:25:20.853738 | controller | "ip": "192.168.122.10" 2025-11-25 09:25:20.853756 | controller | }, 2025-11-25 09:25:20.853772 | controller | "internal-api": { 2025-11-25 09:25:20.853788 | controller | "ip": "172.17.0.5" 2025-11-25 09:25:20.853804 | controller | }, 2025-11-25 09:25:20.853819 | controller | "storage": { 2025-11-25 09:25:20.853835 | controller | "ip": "172.18.0.5" 2025-11-25 09:25:20.853850 | controller | }, 2025-11-25 09:25:20.853866 | controller | "tenant": { 2025-11-25 09:25:20.853881 | controller | "ip": "172.19.0.5" 2025-11-25 09:25:20.853897 | controller | } 2025-11-25 09:25:20.853913 | controller | } 2025-11-25 09:25:20.853928 | controller | } 2025-11-25 09:25:20.853944 | controller | } 2025-11-25 09:25:20.899768 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance.yml 2025-11-25 09:25:20.902456 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance.yml 2025-11-25 09:25:20.911990 | 2025-11-25 09:25:20.912052 | TASK [Create instance ports and attach if necessary] 2025-11-25 09:25:20.956231 | controller | ok 2025-11-25 09:25:20.998939 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance-create-attach-port.yml 2025-11-25 09:25:21.005205 | 2025-11-25 09:25:21.005271 | TASK [Print the host networking data] 2025-11-25 09:25:21.047911 | controller | ok 2025-11-25 09:25:21.058304 | 2025-11-25 09:25:21.058373 | TASK [Create the private network parent port] 2025-11-25 09:25:23.729260 | controller | admin_state_up: true 2025-11-25 09:25:23.729523 | controller | allowed_address_pairs: [] 2025-11-25 09:25:23.729752 | controller | binding_host_id: null 2025-11-25 09:25:23.729890 | controller | binding_profile: {} 2025-11-25 09:25:23.730015 | controller | binding_vif_details: {} 2025-11-25 09:25:23.730140 | controller | binding_vif_type: null 2025-11-25 09:25:23.730297 | controller | binding_vnic_type: normal 2025-11-25 09:25:23.730476 | controller | created_at: '2025-11-25T09:25:23Z' 2025-11-25 09:25:23.730629 | controller | data_plane_status: null 2025-11-25 09:25:23.730756 | controller | description: '' 2025-11-25 09:25:23.730870 | controller | device_id: '' 2025-11-25 09:25:23.730986 | controller | device_owner: '' 2025-11-25 09:25:23.731107 | controller | device_profile: null 2025-11-25 09:25:23.731424 | controller | dns_assignment: 2025-11-25 09:25:23.731560 | controller | - fqdn: host-192-168-122-11.openstacklocal. 2025-11-25 09:25:23.731580 | controller | hostname: host-192-168-122-11 2025-11-25 09:25:23.731604 | controller | ip_address: 192.168.122.11 2025-11-25 09:25:23.731618 | controller | dns_domain: '' 2025-11-25 09:25:23.731757 | controller | dns_name: '' 2025-11-25 09:25:23.731886 | controller | extra_dhcp_opts: [] 2025-11-25 09:25:23.732201 | controller | fixed_ips: 2025-11-25 09:25:23.732361 | controller | - ip_address: 192.168.122.11 2025-11-25 09:25:23.732372 | controller | subnet_id: cdce5646-f78f-4ff8-ab85-95eb85ee535d 2025-11-25 09:25:23.732381 | controller | hardware_offload_type: null 2025-11-25 09:25:23.732516 | controller | hints: '' 2025-11-25 09:25:23.732710 | controller | id: 27c9ac90-cca9-404a-8176-806f9c37725d 2025-11-25 09:25:23.732870 | controller | ip_allocation: immediate 2025-11-25 09:25:23.733004 | controller | mac_address: fa:16:3e:0b:8a:75 2025-11-25 09:25:23.733149 | controller | name: controller-8570a09d-8f3c-4946-abb3-22b0f83028a9 2025-11-25 09:25:23.733349 | controller | network_id: eeb24873-d42e-4b66-8f14-6d47b7301745 2025-11-25 09:25:23.733480 | controller | numa_affinity_policy: null 2025-11-25 09:25:23.733671 | controller | port_security_enabled: false 2025-11-25 09:25:23.733853 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 09:25:23.734002 | controller | propagate_uplink_status: null 2025-11-25 09:25:23.734127 | controller | resource_request: null 2025-11-25 09:25:23.734281 | controller | revision_number: 1 2025-11-25 09:25:23.734407 | controller | qos_network_policy_id: null 2025-11-25 09:25:23.734528 | controller | qos_policy_id: null 2025-11-25 09:25:23.734907 | controller | security_group_ids: [] 2025-11-25 09:25:23.735067 | controller | status: DOWN 2025-11-25 09:25:23.735187 | controller | tags: [] 2025-11-25 09:25:23.735308 | controller | trunk_details: null 2025-11-25 09:25:23.735426 | controller | trusted: null 2025-11-25 09:25:23.735562 | controller | updated_at: '2025-11-25T09:25:23Z' 2025-11-25 09:25:24.118098 | controller | changed 2025-11-25 09:25:24.128400 | 2025-11-25 09:25:24.128517 | TASK [Set common facts for further usage] 2025-11-25 09:25:24.204272 | controller | ok 2025-11-25 09:25:24.210261 | 2025-11-25 09:25:24.210326 | TASK [Create the trunk port] 2025-11-25 09:25:24.740883 | controller | skipping: Conditional result was False 2025-11-25 09:25:24.749744 | 2025-11-25 09:25:24.749846 | TASK [Avoid NetworkManager to automatically picked up the new interface] 2025-11-25 09:25:24.819560 | controller | skipping: Conditional result was False 2025-11-25 09:25:24.828930 | 2025-11-25 09:25:24.829018 | TASK [Refresh NetworkManager] 2025-11-25 09:25:24.886174 | controller | skipping: Conditional result was False 2025-11-25 09:25:24.894188 | 2025-11-25 09:25:24.894264 | TASK [Attach the port to the instance] 2025-11-25 09:25:32.435076 | controller | changed 2025-11-25 09:25:32.442656 | 2025-11-25 09:25:32.442772 | TASK [Wait till the interface exists] 2025-11-25 09:25:33.569325 | controller -> 38.129.56.20 | changed 2025-11-25 09:25:33.575275 | 2025-11-25 09:25:33.575338 | TASK [Prepare interface data to be used configuring trunk and vlan ifaces] 2025-11-25 09:25:33.715060 | controller | ok 2025-11-25 09:25:33.721518 | 2025-11-25 09:25:33.721594 | LOOP [Create VLANs ports and attach them to the trunk] 2025-11-25 09:25:33.779745 | 2025-11-25 09:25:33.779923 | LOOP [Prepare VLANs interface data to be used configuring] 2025-11-25 09:25:33.819016 | 2025-11-25 09:25:33.819209 | LOOP [Create NetworkManager configuration file for the trunk port] 2025-11-25 09:25:35.631033 | controller -> 38.129.56.20 | changed: 2025-11-25 09:25:35.631276 | controller -> 38.129.56.20 | { 2025-11-25 09:25:35.631302 | controller -> 38.129.56.20 | "key": "default", 2025-11-25 09:25:35.631320 | controller -> 38.129.56.20 | "value": { 2025-11-25 09:25:35.631336 | controller -> 38.129.56.20 | "connection": "ci-private-network", 2025-11-25 09:25:35.631353 | controller -> 38.129.56.20 | "gw": "192.168.122.1", 2025-11-25 09:25:35.631368 | controller -> 38.129.56.20 | "iface": "eth1", 2025-11-25 09:25:35.631384 | controller -> 38.129.56.20 | "ip": "192.168.122.11/24", 2025-11-25 09:25:35.631399 | controller -> 38.129.56.20 | "mac": "fa:16:3e:0b:8a:75", 2025-11-25 09:25:35.631414 | controller -> 38.129.56.20 | "mtu": "1500" 2025-11-25 09:25:35.631429 | controller -> 38.129.56.20 | } 2025-11-25 09:25:35.631444 | controller -> 38.129.56.20 | } 2025-11-25 09:25:35.631474 | 2025-11-25 09:25:35.642270 | 2025-11-25 09:25:35.642438 | TASK [Refresh NetworkManager] 2025-11-25 09:25:37.556272 | controller -> 38.129.56.20 | changed 2025-11-25 09:25:37.579584 | 2025-11-25 09:25:37.579744 | TASK [Debug fetch IP routes] 2025-11-25 09:25:38.400302 | controller -> 38.129.56.20 | changed 2025-11-25 09:25:38.407585 | 2025-11-25 09:25:38.407706 | TASK [Debug IP routes] 2025-11-25 09:25:38.455701 | controller -> 38.129.56.20 | ok 2025-11-25 09:25:38.463377 | 2025-11-25 09:25:38.463526 | TASK [Create instance ports and attach if necessary] 2025-11-25 09:25:38.485815 | controller | ok 2025-11-25 09:25:38.497545 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-instance-create-attach-port.yml 2025-11-25 09:25:38.503610 | 2025-11-25 09:25:38.503688 | TASK [Print the host networking data] 2025-11-25 09:25:38.544430 | controller | ok 2025-11-25 09:25:38.551583 | 2025-11-25 09:25:38.551650 | TASK [Create the private network parent port] 2025-11-25 09:25:41.829434 | controller | admin_state_up: true 2025-11-25 09:25:41.829523 | controller | allowed_address_pairs: [] 2025-11-25 09:25:41.829715 | controller | binding_host_id: null 2025-11-25 09:25:41.829824 | controller | binding_profile: {} 2025-11-25 09:25:41.829924 | controller | binding_vif_details: {} 2025-11-25 09:25:41.830030 | controller | binding_vif_type: null 2025-11-25 09:25:41.830162 | controller | binding_vnic_type: normal 2025-11-25 09:25:41.830290 | controller | created_at: '2025-11-25T09:25:41Z' 2025-11-25 09:25:41.830391 | controller | data_plane_status: null 2025-11-25 09:25:41.830484 | controller | description: '' 2025-11-25 09:25:41.830574 | controller | device_id: '' 2025-11-25 09:25:41.830684 | controller | device_owner: '' 2025-11-25 09:25:41.830800 | controller | device_profile: null 2025-11-25 09:25:41.831125 | controller | dns_assignment: 2025-11-25 09:25:41.831220 | controller | - fqdn: host-192-168-122-10.openstacklocal. 2025-11-25 09:25:41.831231 | controller | hostname: host-192-168-122-10 2025-11-25 09:25:41.831237 | controller | ip_address: 192.168.122.10 2025-11-25 09:25:41.831246 | controller | dns_domain: '' 2025-11-25 09:25:41.831313 | controller | dns_name: '' 2025-11-25 09:25:41.831408 | controller | extra_dhcp_opts: [] 2025-11-25 09:25:41.831662 | controller | fixed_ips: 2025-11-25 09:25:41.831766 | controller | - ip_address: 192.168.122.10 2025-11-25 09:25:41.831775 | controller | subnet_id: cdce5646-f78f-4ff8-ab85-95eb85ee535d 2025-11-25 09:25:41.831783 | controller | hardware_offload_type: null 2025-11-25 09:25:41.831858 | controller | hints: '' 2025-11-25 09:25:41.831973 | controller | id: 18fbef7c-df0a-4312-b1b3-6a22e1b2a3cd 2025-11-25 09:25:41.832072 | controller | ip_allocation: immediate 2025-11-25 09:25:41.832182 | controller | mac_address: fa:16:3e:0b:9e:d8 2025-11-25 09:25:41.832299 | controller | name: crc-19343fc1-91cb-4eae-8f56-eacf25f0be5a 2025-11-25 09:25:41.832417 | controller | network_id: eeb24873-d42e-4b66-8f14-6d47b7301745 2025-11-25 09:25:41.832522 | controller | numa_affinity_policy: null 2025-11-25 09:25:41.832698 | controller | port_security_enabled: false 2025-11-25 09:25:41.832822 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 09:25:41.832984 | controller | propagate_uplink_status: null 2025-11-25 09:25:41.833119 | controller | resource_request: null 2025-11-25 09:25:41.833290 | controller | revision_number: 1 2025-11-25 09:25:41.833431 | controller | qos_network_policy_id: null 2025-11-25 09:25:41.833584 | controller | qos_policy_id: null 2025-11-25 09:25:41.833750 | controller | security_group_ids: [] 2025-11-25 09:25:41.833850 | controller | status: DOWN 2025-11-25 09:25:41.833936 | controller | tags: [] 2025-11-25 09:25:41.834035 | controller | trunk_details: null 2025-11-25 09:25:41.834127 | controller | trusted: null 2025-11-25 09:25:41.834262 | controller | updated_at: '2025-11-25T09:25:41Z' 2025-11-25 09:25:42.096210 | controller | changed 2025-11-25 09:25:42.104140 | 2025-11-25 09:25:42.104244 | TASK [Set common facts for further usage] 2025-11-25 09:25:42.199065 | controller | ok 2025-11-25 09:25:42.211939 | 2025-11-25 09:25:42.212114 | TASK [Create the trunk port] 2025-11-25 09:25:42.748354 | controller | skipping: Conditional result was False 2025-11-25 09:25:42.755792 | 2025-11-25 09:25:42.755912 | TASK [Avoid NetworkManager to automatically picked up the new interface] 2025-11-25 09:25:42.844994 | controller | skipping: Conditional result was False 2025-11-25 09:25:42.851647 | 2025-11-25 09:25:42.851729 | TASK [Refresh NetworkManager] 2025-11-25 09:25:42.898082 | controller | skipping: Conditional result was False 2025-11-25 09:25:42.905399 | 2025-11-25 09:25:42.905477 | TASK [Attach the port to the instance] 2025-11-25 09:25:50.450010 | controller | changed 2025-11-25 09:25:50.464014 | 2025-11-25 09:25:50.464149 | TASK [Wait till the interface exists] 2025-11-25 09:25:50.873144 | controller -> 38.102.83.5 | changed 2025-11-25 09:25:50.893370 | 2025-11-25 09:25:50.893654 | TASK [Prepare interface data to be used configuring trunk and vlan ifaces] 2025-11-25 09:25:51.071133 | controller | ok 2025-11-25 09:25:51.082879 | 2025-11-25 09:25:51.082965 | LOOP [Create VLANs ports and attach them to the trunk] 2025-11-25 09:25:51.177818 | controller | skipping: Conditional result was False 2025-11-25 09:25:54.192325 | controller | skipping: Conditional result was False 2025-11-25 09:25:57.210213 | controller | skipping: Conditional result was False 2025-11-25 09:25:57.217600 | 2025-11-25 09:25:57.217671 | LOOP [Prepare VLANs interface data to be used configuring] 2025-11-25 09:25:57.386448 | controller | ok: 2025-11-25 09:25:57.386897 | controller | { 2025-11-25 09:25:57.386957 | controller | "key": "internal-api", 2025-11-25 09:25:57.387009 | controller | "value": { 2025-11-25 09:25:57.387048 | controller | "ip": "172.17.0.5" 2025-11-25 09:25:57.387087 | controller | } 2025-11-25 09:25:57.387123 | controller | } 2025-11-25 09:25:57.387173 | 2025-11-25 09:25:57.418127 | controller | ok: 2025-11-25 09:25:57.418371 | controller | { 2025-11-25 09:25:57.418424 | controller | "key": "storage", 2025-11-25 09:25:57.418463 | controller | "value": { 2025-11-25 09:25:57.418501 | controller | "ip": "172.18.0.5" 2025-11-25 09:25:57.418548 | controller | } 2025-11-25 09:25:57.418596 | controller | } 2025-11-25 09:25:57.446624 | controller | ok: 2025-11-25 09:25:57.446819 | controller | { 2025-11-25 09:25:57.446871 | controller | "key": "tenant", 2025-11-25 09:25:57.446910 | controller | "value": { 2025-11-25 09:25:57.446946 | controller | "ip": "172.19.0.5" 2025-11-25 09:25:57.446982 | controller | } 2025-11-25 09:25:57.447017 | controller | } 2025-11-25 09:25:57.476088 | 2025-11-25 09:25:57.476330 | LOOP [Create NetworkManager configuration file for the trunk port] 2025-11-25 09:25:58.538979 | controller -> 38.102.83.5 | changed: 2025-11-25 09:25:58.539565 | controller -> 38.102.83.5 | { 2025-11-25 09:25:58.539657 | controller -> 38.102.83.5 | "key": "default", 2025-11-25 09:25:58.539808 | controller -> 38.102.83.5 | "value": { 2025-11-25 09:25:58.539879 | controller -> 38.102.83.5 | "connection": "ci-private-network", 2025-11-25 09:25:58.539960 | controller -> 38.102.83.5 | "gw": "192.168.122.1", 2025-11-25 09:25:58.540034 | controller -> 38.102.83.5 | "iface": "ens7", 2025-11-25 09:25:58.540108 | controller -> 38.102.83.5 | "ip": "192.168.122.10/24", 2025-11-25 09:25:58.540182 | controller -> 38.102.83.5 | "mac": "fa:16:3e:0b:9e:d8", 2025-11-25 09:25:58.540253 | controller -> 38.102.83.5 | "mtu": "1500" 2025-11-25 09:25:58.540324 | controller -> 38.102.83.5 | } 2025-11-25 09:25:58.540395 | controller -> 38.102.83.5 | } 2025-11-25 09:25:59.438090 | controller -> 38.102.83.5 | changed: 2025-11-25 09:25:59.438398 | controller -> 38.102.83.5 | { 2025-11-25 09:25:59.438443 | controller -> 38.102.83.5 | "key": "internal-api", 2025-11-25 09:25:59.438469 | controller -> 38.102.83.5 | "value": { 2025-11-25 09:25:59.438492 | controller -> 38.102.83.5 | "connection": "ci-private-network-20", 2025-11-25 09:25:59.438516 | controller -> 38.102.83.5 | "iface": "ens7.20", 2025-11-25 09:25:59.438538 | controller -> 38.102.83.5 | "ip": "172.17.0.5/24", 2025-11-25 09:25:59.438560 | controller -> 38.102.83.5 | "mac": "52:54:00:66:60:90", 2025-11-25 09:25:59.438581 | controller -> 38.102.83.5 | "mtu": "1496", 2025-11-25 09:25:59.438602 | controller -> 38.102.83.5 | "parent_iface": "ens7", 2025-11-25 09:25:59.438623 | controller -> 38.102.83.5 | "vlan": 20 2025-11-25 09:25:59.438645 | controller -> 38.102.83.5 | } 2025-11-25 09:25:59.438673 | controller -> 38.102.83.5 | } 2025-11-25 09:26:00.302595 | controller -> 38.102.83.5 | changed: 2025-11-25 09:26:00.302989 | controller -> 38.102.83.5 | { 2025-11-25 09:26:00.303073 | controller -> 38.102.83.5 | "key": "storage", 2025-11-25 09:26:00.303156 | controller -> 38.102.83.5 | "value": { 2025-11-25 09:26:00.303218 | controller -> 38.102.83.5 | "connection": "ci-private-network-21", 2025-11-25 09:26:00.303273 | controller -> 38.102.83.5 | "iface": "ens7.21", 2025-11-25 09:26:00.303323 | controller -> 38.102.83.5 | "ip": "172.18.0.5/24", 2025-11-25 09:26:00.303375 | controller -> 38.102.83.5 | "mac": "52:54:00:d5:31:bb", 2025-11-25 09:26:00.303408 | controller -> 38.102.83.5 | "mtu": "1496", 2025-11-25 09:26:00.303436 | controller -> 38.102.83.5 | "parent_iface": "ens7", 2025-11-25 09:26:00.303464 | controller -> 38.102.83.5 | "vlan": 21 2025-11-25 09:26:00.303492 | controller -> 38.102.83.5 | } 2025-11-25 09:26:00.303523 | controller -> 38.102.83.5 | } 2025-11-25 09:26:01.149747 | controller -> 38.102.83.5 | changed: 2025-11-25 09:26:01.149952 | controller -> 38.102.83.5 | { 2025-11-25 09:26:01.149996 | controller -> 38.102.83.5 | "key": "tenant", 2025-11-25 09:26:01.150023 | controller -> 38.102.83.5 | "value": { 2025-11-25 09:26:01.150046 | controller -> 38.102.83.5 | "connection": "ci-private-network-22", 2025-11-25 09:26:01.150069 | controller -> 38.102.83.5 | "iface": "ens7.22", 2025-11-25 09:26:01.150092 | controller -> 38.102.83.5 | "ip": "172.19.0.5/24", 2025-11-25 09:26:01.150114 | controller -> 38.102.83.5 | "mac": "52:54:00:85:b6:21", 2025-11-25 09:26:01.150136 | controller -> 38.102.83.5 | "mtu": "1496", 2025-11-25 09:26:01.150158 | controller -> 38.102.83.5 | "parent_iface": "ens7", 2025-11-25 09:26:01.150180 | controller -> 38.102.83.5 | "vlan": 22 2025-11-25 09:26:01.150201 | controller -> 38.102.83.5 | } 2025-11-25 09:26:01.150223 | controller -> 38.102.83.5 | } 2025-11-25 09:26:01.164025 | 2025-11-25 09:26:01.164120 | TASK [Refresh NetworkManager] 2025-11-25 09:26:02.040250 | controller -> 38.102.83.5 | changed 2025-11-25 09:26:02.049930 | 2025-11-25 09:26:02.049999 | TASK [Debug fetch IP routes] 2025-11-25 09:26:02.395323 | controller -> 38.102.83.5 | changed 2025-11-25 09:26:02.407662 | 2025-11-25 09:26:02.408036 | TASK [Debug IP routes] 2025-11-25 09:26:02.470083 | controller -> 38.102.83.5 | ok 2025-11-25 09:26:02.478878 | 2025-11-25 09:26:02.479106 | TASK [Display some data about network ports] 2025-11-25 09:26:04.611054 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-11-25 09:26:04.769679 | controller | | ID | Name | MAC Address | Fixed IP Addresses | Status | 2025-11-25 09:26:04.769745 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-11-25 09:26:04.769754 | controller | | 0590ebf2-0548-401b-84ff-e1191f2531d6 | | fa:16:3e:1c:52:02 | | DOWN | 2025-11-25 09:26:04.769760 | controller | | 18fbef7c-df0a-4312-b1b3-6a22e1b2a3cd | crc-19343fc1-91cb-4eae-8f56-eacf25f0be5a | fa:16:3e:0b:9e:d8 | ip_address='192.168.122.10', subnet_id='cdce5646-f78f-4ff8-ab85-95eb85ee535d' | ACTIVE | 2025-11-25 09:26:04.769766 | controller | | 27c9ac90-cca9-404a-8176-806f9c37725d | controller-8570a09d-8f3c-4946-abb3-22b0f83028a9 | fa:16:3e:0b:8a:75 | ip_address='192.168.122.11', subnet_id='cdce5646-f78f-4ff8-ab85-95eb85ee535d' | ACTIVE | 2025-11-25 09:26:04.769772 | controller | +--------------------------------------+-------------------------------------------------+-------------------+-------------------------------------------------------------------------------+--------+ 2025-11-25 09:26:05.020265 | controller | changed 2025-11-25 09:26:05.033963 | 2025-11-25 09:26:05.034099 | LOOP [Display server configuration] 2025-11-25 09:26:07.979701 | controller | changed 2025-11-25 09:26:07.980187 | controller | changed: All items complete 2025-11-25 09:26:07.980235 | 2025-11-25 09:26:13.100816 | controller | changed 2025-11-25 09:26:13.122812 | 2025-11-25 09:26:13.122966 | TASK [Fetch underneath provider DNSs] 2025-11-25 09:26:13.155637 | controller | ok 2025-11-25 09:26:13.169331 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network-fetch-provider-dns.yml 2025-11-25 09:26:13.186599 | 2025-11-25 09:26:13.186777 | TASK [Fetch the DNS list of the default interface] 2025-11-25 09:26:13.623786 | controller | ok 2025-11-25 09:26:13.629939 | 2025-11-25 09:26:13.630011 | TASK [Set provider DNS for further usage] 2025-11-25 09:26:13.727258 | controller | ok 2025-11-25 09:26:13.732893 | 2025-11-25 09:26:13.732970 | LOOP [Save networking data to file for further usage] 2025-11-25 09:26:14.708963 | controller -> 38.102.83.5 | changed: "crc" 2025-11-25 09:26:16.980787 | controller -> 38.129.56.20 | changed: "controller" 2025-11-25 09:26:17.048573 | 2025-11-25 09:26:17.048752 | TASK [Remove cloud_secrets file] 2025-11-25 09:26:17.266382 | controller | changed 2025-11-25 09:26:17.300179 | 2025-11-25 09:26:17.300264 | PLAY RECAP 2025-11-25 09:26:17.300323 | controller | ok: 48 changed: 22 unreachable: 0 failed: 0 skipped: 14 rescued: 0 ignored: 0 2025-11-25 09:26:17.300353 | 2025-11-25 09:26:17.436810 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/bootstrap-ci-network.yml@master] 2025-11-25 09:26:17.440913 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/prepare-crc.yaml@master] 2025-11-25 09:26:18.082280 | 2025-11-25 09:26:18.082413 | PLAY [Prefer ipv4 over ipv6] 2025-11-25 09:26:18.119347 | 2025-11-25 09:26:18.119460 | TASK [Configure /etc/gai.conf to prever ipv4 over ipv6] 2025-11-25 09:26:18.167536 | controller | skipping: Conditional result was False 2025-11-25 09:26:18.178438 | crc | skipping: Conditional result was False 2025-11-25 09:26:18.235170 | 2025-11-25 09:26:18.235315 | PLAY [Generic task for migration time to crc-cloud] 2025-11-25 09:26:18.256633 | 2025-11-25 09:26:18.256734 | TASK [Check if there is a image build date file] 2025-11-25 09:26:18.864528 | crc | ok 2025-11-25 09:26:18.883588 | 2025-11-25 09:26:18.883788 | TASK [Print image date] 2025-11-25 09:26:19.392154 | crc | Mon Nov 24 17:18:46 UTC 2025 | Image type: crc-cloud 2025-11-25 09:26:19.439344 | crc | ok 2025-11-25 09:26:19.490574 | 2025-11-25 09:26:19.490805 | TASK [Run crc-cloud preparation] 2025-11-25 09:26:19.528001 | crc | ok 2025-11-25 09:26:19.568020 | 2025-11-25 09:26:19.568177 | TASK [prepare-crc-cloud : Print build date] 2025-11-25 09:26:19.602130 | crc | ok 2025-11-25 09:26:19.612392 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/build_date.yaml 2025-11-25 09:26:19.622576 | 2025-11-25 09:26:19.622649 | TASK [prepare-crc-cloud : Check if there is a image build date file] 2025-11-25 09:26:19.905352 | crc | ok 2025-11-25 09:26:19.923043 | 2025-11-25 09:26:19.923200 | TASK [prepare-crc-cloud : Print image date if available] 2025-11-25 09:26:20.239169 | crc | Mon Nov 24 17:18:46 UTC 2025 | Image type: crc-cloud 2025-11-25 09:26:20.477239 | crc | ok 2025-11-25 09:26:20.494798 | 2025-11-25 09:26:20.494961 | TASK [prepare-crc-cloud : Tune Kubelet config file] 2025-11-25 09:26:20.522062 | crc | skipping: Conditional result was False 2025-11-25 09:26:20.541507 | 2025-11-25 09:26:20.541724 | TASK [prepare-crc-cloud : Reboot CRC host to get the network interfaces] 2025-11-25 09:26:20.585408 | crc | ok 2025-11-25 09:26:20.606734 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/reboot_crc.yaml 2025-11-25 09:26:20.622431 | 2025-11-25 09:26:20.622519 | TASK [prepare-crc-cloud : Reboot host after adding pull secret and changing kubelet node params] 2025-11-25 09:27:19.301863 | crc | changed 2025-11-25 09:27:19.319017 | 2025-11-25 09:27:19.319197 | TASK [Start Zuul console after reboot] 2025-11-25 09:27:19.367029 | crc | ok 2025-11-25 09:27:19.401707 | 2025-11-25 09:27:19.401875 | TASK [start-zuul-console : Start zuul_console daemon.] 2025-11-25 09:27:20.856850 | crc | ok 2025-11-25 09:27:20.888932 | 2025-11-25 09:27:20.889084 | TASK [prepare-crc-cloud : Prepare for executing crc-cloud] 2025-11-25 09:27:20.934363 | crc | ok 2025-11-25 09:27:20.953162 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/pre.yaml 2025-11-25 09:27:20.970340 | 2025-11-25 09:27:20.970451 | TASK [prepare-crc-cloud : Disable overwriting /etc/resolv.conf by the NetworkManager] 2025-11-25 09:27:22.020267 | crc | changed 2025-11-25 09:27:22.028633 | 2025-11-25 09:27:22.028729 | TASK [prepare-crc-cloud : Reload NetworkManager after creating custom rules] 2025-11-25 09:27:23.066760 | crc | changed 2025-11-25 09:27:23.086891 | 2025-11-25 09:27:23.087072 | TASK [prepare-crc-cloud : Inject pull secret into /var/lib/kubelet/config.json] 2025-11-25 09:27:24.103637 | crc | changed 2025-11-25 09:27:24.114602 | 2025-11-25 09:27:24.114757 | TASK [prepare-crc-cloud : Check if etcd slow profile set] 2025-11-25 09:27:24.139996 | crc | skipping: Conditional result was False 2025-11-25 09:27:24.147638 | 2025-11-25 09:27:24.147731 | TASK [prepare-crc-cloud : Use ramdisk for etcd] 2025-11-25 09:27:24.220928 | crc | ok 2025-11-25 09:27:24.233515 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/ramdisk.yaml 2025-11-25 09:27:24.246505 | 2025-11-25 09:27:24.246589 | TASK [prepare-crc-cloud : Move current etcd to other place] 2025-11-25 09:27:24.788177 | crc | ok 2025-11-25 09:27:24.807212 | 2025-11-25 09:27:24.807404 | TASK [prepare-crc-cloud : Mount ramdisk] 2025-11-25 09:27:25.294220 | crc | changed 2025-11-25 09:27:25.314551 | 2025-11-25 09:27:25.314761 | TASK [prepare-crc-cloud : Set proper permissions after mount] 2025-11-25 09:27:25.725720 | crc | changed 2025-11-25 09:27:25.735398 | 2025-11-25 09:27:25.735523 | TASK [prepare-crc-cloud : Copy content from old location to ramdisk] 2025-11-25 09:27:30.158479 | crc | changed 2025-11-25 09:27:30.177240 | 2025-11-25 09:27:30.177434 | TASK [prepare-crc-cloud : Set proper SELinux context] 2025-11-25 09:27:30.730220 | crc | ok 2025-11-25 09:27:30.748612 | 2025-11-25 09:27:30.748828 | TASK [prepare-crc-cloud : Block crc.testing domains] 2025-11-25 09:27:30.803323 | crc | ok 2025-11-25 09:27:30.817589 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/block_crc_domains.yaml 2025-11-25 09:27:30.837961 | 2025-11-25 09:27:30.838070 | LOOP [prepare-crc-cloud : Set crc.testing domains into /etc/hosts] 2025-11-25 09:27:31.348328 | crc | changed: line added 2025-11-25 09:27:31.617076 | crc | changed: line added 2025-11-25 09:27:31.902458 | crc | changed: line added 2025-11-25 09:27:32.185905 | crc | changed: line added 2025-11-25 09:27:32.518030 | crc | changed: line added 2025-11-25 09:27:32.761627 | crc | changed: line added 2025-11-25 09:27:33.044820 | crc | changed: line added 2025-11-25 09:27:33.374599 | crc | changed: line added 2025-11-25 09:27:33.452632 | 2025-11-25 09:27:33.452858 | TASK [prepare-crc-cloud : Get default interface name] 2025-11-25 09:27:33.746711 | crc | ens3 2025-11-25 09:27:33.995908 | crc | ok 2025-11-25 09:27:34.014922 | 2025-11-25 09:27:34.015107 | LOOP [prepare-crc-cloud : Block CRC domains also using iptables] 2025-11-25 09:27:34.583624 | crc | ok 2025-11-25 09:27:34.584166 | crc | changed: All items complete 2025-11-25 09:27:34.584271 | 2025-11-25 09:27:34.848885 | crc | ok 2025-11-25 09:27:35.113753 | crc | ok 2025-11-25 09:27:35.400382 | crc | ok 2025-11-25 09:27:35.714865 | crc | ok 2025-11-25 09:27:35.992766 | crc | ok 2025-11-25 09:27:36.271255 | crc | ok 2025-11-25 09:27:36.575420 | crc | ok 2025-11-25 09:27:36.594386 | 2025-11-25 09:27:36.594517 | TASK [prepare-crc-cloud : Set required facts] 2025-11-25 09:27:36.630901 | crc | ok 2025-11-25 09:27:36.643403 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/set_vars.yaml 2025-11-25 09:27:36.666602 | 2025-11-25 09:27:36.666754 | TASK [prepare-crc-cloud : Set required facts] 2025-11-25 09:27:36.744345 | crc | Output suppressed because no_log was given 2025-11-25 09:27:36.752564 | 2025-11-25 09:27:36.752647 | TASK [Start crc-cloud role when Zuul defined] 2025-11-25 09:27:36.789244 | crc | ok 2025-11-25 09:27:36.843175 | 2025-11-25 09:27:36.843306 | TASK [deploy-crc-cloud : Check if pull-secret is provided] 2025-11-25 09:27:36.870270 | crc | skipping: Conditional result was False 2025-11-25 09:27:36.880306 | 2025-11-25 09:27:36.880431 | TASK [deploy-crc-cloud : Create kubeconfig] 2025-11-25 09:27:36.918445 | crc | ok 2025-11-25 09:27:36.928715 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/kubeconfig.yaml 2025-11-25 09:27:36.941339 | 2025-11-25 09:27:36.941412 | TASK [deploy-crc-cloud : Create kube directory] 2025-11-25 09:27:37.258928 | crc | changed 2025-11-25 09:27:37.277588 | 2025-11-25 09:27:37.277830 | TASK [deploy-crc-cloud : Copy kubeconfig to user dir] 2025-11-25 09:27:37.784706 | crc | changed 2025-11-25 09:27:37.792580 | 2025-11-25 09:27:37.792659 | TASK [deploy-crc-cloud : Setup dnsmasq] 2025-11-25 09:27:37.830183 | crc | ok 2025-11-25 09:27:37.846336 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/dnsmasq.yaml 2025-11-25 09:27:37.864784 | 2025-11-25 09:27:37.864878 | TASK [deploy-crc-cloud : Disable overwriting /etc/resolv.conf by the NetworkManager] 2025-11-25 09:27:38.813167 | crc | ok 2025-11-25 09:27:38.820587 | 2025-11-25 09:27:38.820647 | TASK [deploy-crc-cloud : Restart NetworkManager when its needed] 2025-11-25 09:27:38.835833 | crc | skipping: Conditional result was False 2025-11-25 09:27:38.845461 | 2025-11-25 09:27:38.845537 | TASK [deploy-crc-cloud : Ensure /etc/resolv.conf is not a symlink and is writable] 2025-11-25 09:27:39.170871 | crc | ok 2025-11-25 09:27:39.188196 | 2025-11-25 09:27:39.188315 | TASK [deploy-crc-cloud : Create crc-dnsmasq.conf] 2025-11-25 09:27:40.024106 | crc | changed 2025-11-25 09:27:40.043272 | 2025-11-25 09:27:40.043411 | LOOP [deploy-crc-cloud : Set this host as first nameserver in /etc/resolv.conf] 2025-11-25 09:27:40.462723 | crc | changed: line replaced 2025-11-25 09:27:40.766956 | crc | ok 2025-11-25 09:27:41.058268 | crc | ok 2025-11-25 09:27:41.074960 | 2025-11-25 09:27:41.075115 | TASK [deploy-crc-cloud : Restart dnsmasq] 2025-11-25 09:27:41.944069 | crc | changed 2025-11-25 09:27:41.954250 | 2025-11-25 09:27:41.954314 | TASK [deploy-crc-cloud : Start kubelet] 2025-11-25 09:27:41.996130 | crc | ok 2025-11-25 09:27:42.006571 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/kubelet.yaml 2025-11-25 09:27:42.022883 | 2025-11-25 09:27:42.022944 | TASK [deploy-crc-cloud : Start and enable kubelet] 2025-11-25 09:28:00.244831 | crc | changed 2025-11-25 09:28:00.262070 | 2025-11-25 09:28:00.262168 | TASK [deploy-crc-cloud : Wait for port 6443 to be up] 2025-11-25 09:29:00.808119 | crc | ok 2025-11-25 09:29:00.823727 | 2025-11-25 09:29:00.823864 | TASK [deploy-crc-cloud : Wait for API to start before continue] 2025-11-25 09:29:02.416903 | crc | NAMESPACE NAME READY STATUS RESTARTS AGE 2025-11-25 09:29:02.416979 | crc | openshift-apiserver-operator openshift-apiserver-operator-796bbdcf4f-pxm7c 0/1 Pending 0 40s 2025-11-25 09:29:02.416987 | crc | openshift-apiserver apiserver-76f77b778f-64gk2 0/2 Pending 0 40s 2025-11-25 09:29:02.416993 | crc | openshift-authentication-operator authentication-operator-69f744f599-7tm4l 0/1 Pending 0 40s 2025-11-25 09:29:02.416999 | crc | openshift-authentication oauth-openshift-558db77b4-xtsd4 0/1 Pending 0 40s 2025-11-25 09:29:02.417009 | crc | openshift-cluster-machine-approver machine-approver-56656f9798-nw9pk 0/2 Pending 0 40s 2025-11-25 09:29:02.417015 | crc | openshift-cluster-samples-operator cluster-samples-operator-665b6dd947-6mckc 0/2 Pending 0 40s 2025-11-25 09:29:02.417020 | crc | openshift-cluster-version cluster-version-operator-5c965bbfc6-6jttg 0/1 Pending 0 40s 2025-11-25 09:29:02.417026 | crc | openshift-config-operator openshift-config-operator-7777fb866f-2jfg2 0/1 Pending 0 40s 2025-11-25 09:29:02.417032 | crc | openshift-console-operator console-operator-58897d9998-n7f6b 0/1 Pending 0 40s 2025-11-25 09:29:02.417038 | crc | openshift-console console-f9d7485db-6m6pm 0/1 Pending 0 40s 2025-11-25 09:29:02.417044 | crc | openshift-console downloads-7954f5f757-dqksf 0/1 Pending 0 40s 2025-11-25 09:29:02.417049 | crc | openshift-controller-manager-operator openshift-controller-manager-operator-756b6f6bc6-vflz8 0/1 Pending 0 40s 2025-11-25 09:29:02.417057 | crc | openshift-controller-manager controller-manager-879f6c89f-b78xz 0/1 Pending 0 40s 2025-11-25 09:29:02.417068 | crc | openshift-dns-operator dns-operator-744455d44c-2phng 0/2 Pending 0 40s 2025-11-25 09:29:02.417074 | crc | openshift-dns node-resolver-sqcpf 0/1 Pending 0 40s 2025-11-25 09:29:02.417112 | crc | openshift-etcd-operator etcd-operator-b45778765-xzqtm 0/1 Pending 0 40s 2025-11-25 09:29:02.417135 | crc | openshift-image-registry cluster-image-registry-operator-dc59b4c8b-pnvcs 0/1 Pending 0 40s 2025-11-25 09:29:02.417166 | crc | openshift-image-registry image-registry-697d97f7c8-pmwh4 0/1 Pending 0 40s 2025-11-25 09:29:02.417212 | crc | openshift-image-registry node-ca-qhhvk 0/1 Pending 0 40s 2025-11-25 09:29:02.417226 | crc | openshift-ingress-operator ingress-operator-5b745b69d9-ktlr9 0/2 Pending 0 40s 2025-11-25 09:29:02.417268 | crc | openshift-ingress router-default-5444994796-pc9l6 0/1 Pending 0 40s 2025-11-25 09:29:02.417298 | crc | openshift-kube-apiserver-operator kube-apiserver-operator-766d6c64bb-rmm42 0/1 Pending 0 40s 2025-11-25 09:29:02.417337 | crc | openshift-kube-apiserver kube-apiserver-crc 0/5 Pending 0 40s 2025-11-25 09:29:02.417361 | crc | openshift-kube-controller-manager-operator kube-controller-manager-operator-78b949d7b-pgxfp 0/1 Pending 0 40s 2025-11-25 09:29:02.417377 | crc | openshift-kube-controller-manager kube-controller-manager-crc 0/4 Pending 0 35s 2025-11-25 09:29:02.417395 | crc | openshift-kube-scheduler-operator openshift-kube-scheduler-operator-5fdd9b5758-nbrjt 0/1 Pending 0 40s 2025-11-25 09:29:02.417417 | crc | openshift-kube-scheduler openshift-kube-scheduler-crc 0/3 Pending 0 10s 2025-11-25 09:29:02.417431 | crc | openshift-kube-storage-version-migrator-operator kube-storage-version-migrator-operator-b67b599dd-c48tj 0/1 Pending 0 40s 2025-11-25 09:29:02.417455 | crc | openshift-kube-storage-version-migrator migrator-59844c95c7-ddc5m 0/2 Pending 0 40s 2025-11-25 09:29:02.417476 | crc | openshift-machine-api control-plane-machine-set-operator-78cbb6b69f-nr7rm 0/1 Pending 0 40s 2025-11-25 09:29:02.417500 | crc | openshift-machine-api machine-api-operator-5694c8668f-dcwsq 0/2 Pending 0 40s 2025-11-25 09:29:02.417559 | crc | openshift-machine-config-operator machine-config-controller-84d6567774-9h7bw 0/2 Pending 0 40s 2025-11-25 09:29:02.417578 | crc | openshift-machine-config-operator machine-config-daemon-2n2f8 0/2 Pending 0 40s 2025-11-25 09:29:02.417600 | crc | openshift-machine-config-operator machine-config-operator-74547568cd-b9pbx 0/2 Pending 0 40s 2025-11-25 09:29:02.417625 | crc | openshift-marketplace marketplace-operator-79b997595-4qpf8 0/1 Pending 0 40s 2025-11-25 09:29:02.417656 | crc | openshift-multus multus-7t7mh 0/1 Pending 0 40s 2025-11-25 09:29:02.417683 | crc | openshift-multus multus-additional-cni-plugins-jg2nq 0/1 Pending 0 40s 2025-11-25 09:29:02.417706 | crc | openshift-multus multus-admission-controller-857f4d67dd-67tg6 0/2 Pending 0 40s 2025-11-25 09:29:02.417728 | crc | openshift-multus network-metrics-daemon-tfr8m 0/2 Pending 0 40s 2025-11-25 09:29:02.417743 | crc | openshift-network-console networking-console-plugin-85b44fc459-gdk6g 1/1 Running 2 275d 2025-11-25 09:29:02.417762 | crc | openshift-network-diagnostics network-check-source-55646444c4-trplf 1/1 Running 2 275d 2025-11-25 09:29:02.417782 | crc | openshift-network-diagnostics network-check-target-xd92c 1/1 Running 2 275d 2025-11-25 09:29:02.417873 | crc | openshift-network-node-identity network-node-identity-vrzqb 2/2 Running 7 275d 2025-11-25 09:29:02.417883 | crc | openshift-network-operator iptables-alerter-4ln5h 1/1 Running 2 275d 2025-11-25 09:29:02.417895 | crc | openshift-network-operator network-operator-58b4c7f79c-55gtf 1/1 Running 4 275d 2025-11-25 09:29:02.417923 | crc | openshift-oauth-apiserver apiserver-7bbb656c7d-5jtcs 0/1 Pending 0 39s 2025-11-25 09:29:02.417935 | crc | openshift-operator-lifecycle-manager catalog-operator-68c6474976-ncw46 0/1 Pending 0 39s 2025-11-25 09:29:02.417944 | crc | openshift-operator-lifecycle-manager collect-profiles-29401035-bb48s 0/1 Pending 0 40s 2025-11-25 09:29:02.417966 | crc | openshift-operator-lifecycle-manager olm-operator-6b444d44fb-bmmjg 0/1 Pending 0 39s 2025-11-25 09:29:02.417999 | crc | openshift-operator-lifecycle-manager package-server-manager-789f6589d5-jbtkt 0/2 Pending 0 39s 2025-11-25 09:29:02.418022 | crc | openshift-operator-lifecycle-manager packageserver-d55dfcdfc-59nlg 0/1 Pending 0 39s 2025-11-25 09:29:02.418072 | crc | openshift-ovn-kubernetes ovnkube-control-plane-749d76644c-5xjzg 0/2 Pending 0 39s 2025-11-25 09:29:02.418101 | crc | openshift-ovn-kubernetes ovnkube-node-2vvjj 0/8 Pending 0 40s 2025-11-25 09:29:02.418124 | crc | openshift-route-controller-manager route-controller-manager-6576b87f9c-46nzm 0/1 Pending 0 39s 2025-11-25 09:29:02.418147 | crc | openshift-service-ca-operator service-ca-operator-777779d784-86g8w 0/1 Pending 0 39s 2025-11-25 09:29:02.418196 | crc | openshift-service-ca service-ca-9c57cc56f-hf5p7 0/1 Pending 0 39s 2025-11-25 09:29:02.894652 | crc | ok 2025-11-25 09:29:02.915439 | 2025-11-25 09:29:02.915651 | TASK [deploy-crc-cloud : Replace default pubkey] 2025-11-25 09:29:02.963575 | crc | ok 2025-11-25 09:29:02.983858 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/pubkey.yaml 2025-11-25 09:29:03.008593 | 2025-11-25 09:29:03.008727 | TASK [deploy-crc-cloud : Check if id_rsa.pub exists] 2025-11-25 09:29:03.313190 | crc | ok 2025-11-25 09:29:03.331347 | 2025-11-25 09:29:03.331512 | TASK [deploy-crc-cloud : Read pub key] 2025-11-25 09:29:03.888841 | crc | skipping: Conditional result was False 2025-11-25 09:29:03.911412 | 2025-11-25 09:29:03.911641 | TASK [deploy-crc-cloud : Wait for machineconfig] 2025-11-25 09:29:03.951750 | crc | skipping: Conditional result was False 2025-11-25 09:29:04.023092 | 2025-11-25 09:29:04.023248 | TASK [deploy-crc-cloud : Patch machineconfig 99-master-ssh] 2025-11-25 09:29:04.566626 | crc | skipping: Conditional result was False 2025-11-25 09:29:04.580336 | 2025-11-25 09:29:04.580426 | TASK [deploy-crc-cloud : Wait for cluster become healthy] 2025-11-25 09:29:04.616746 | crc | ok 2025-11-25 09:29:04.639825 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 09:29:04.681406 | 2025-11-25 09:29:04.681554 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-11-25 09:29:05.180823 | crc | True 2025-11-25 09:29:05.181661 | crc | False 2025-11-25 09:30:54.253527 | crc | changed 2025-11-25 09:30:54.261875 | 2025-11-25 09:30:54.261986 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 09:30:54.315784 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 09:30:54.324196 | 2025-11-25 09:30:54.324276 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 09:30:54.348895 | crc | skipping: Conditional result was False 2025-11-25 09:30:54.357193 | 2025-11-25 09:30:54.357285 | TASK [deploy-crc-cloud : Set credentials] 2025-11-25 09:30:54.389146 | crc | ok 2025-11-25 09:30:54.403007 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/set_credentials.yaml 2025-11-25 09:30:54.428020 | 2025-11-25 09:30:54.428155 | TASK [deploy-crc-cloud : Ensure htpasswd.txt does not exists] 2025-11-25 09:30:55.015806 | crc | ok 2025-11-25 09:30:55.068489 | 2025-11-25 09:30:55.068618 | TASK [deploy-crc-cloud : Create temporary directory] 2025-11-25 09:30:55.760301 | crc | changed 2025-11-25 09:30:55.768339 | 2025-11-25 09:30:55.768483 | LOOP [deploy-crc-cloud : Get htpasswd] 2025-11-25 09:30:55.835367 | crc | Output suppressed because no_log was given 2025-11-25 09:30:55.845515 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-11-25 09:30:55.846491 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-11-25 09:30:55.847380 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/get_htpasswd.yaml 2025-11-25 09:30:55.858883 | 2025-11-25 09:30:55.859021 | TASK [deploy-crc-cloud : Get htpasswd for developer] 2025-11-25 09:32:32.691685 | crc | time="2025-11-25T09:32:32Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-11-25 09:32:32.699322 | crc | Trying to pull ghcr.io/crc-org/crc-cloud/httpd-tools:latest... 2025-11-25 09:32:33.183348 | crc | Getting image source signatures 2025-11-25 09:32:33.183710 | crc | Copying blob sha256:03b0c4cc4cd73e5e23be2059e3fd45509e5555dc4e38a3f7e64a79e7e660911f 2025-11-25 09:32:36.553168 | crc | Copying blob sha256:d79654aef0ca547a01bb2f6d116ddc9c00d0fcb5fe786606ecb1ececcb9186aa 2025-11-25 09:32:36.554210 | crc | Copying config sha256:baa92afe81008ec8db46b1b349f94ca18bceb9d8aac3bb873120cb11840da356 2025-11-25 09:32:36.565930 | crc | Writing manifest to image destination 2025-11-25 09:32:37.536211 | crc | changed 2025-11-25 09:32:37.546387 | 2025-11-25 09:32:37.546484 | TASK [deploy-crc-cloud : Get htpasswd for kubeadmin] 2025-11-25 09:32:37.966738 | crc | time="2025-11-25T09:32:37Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-11-25 09:32:38.639909 | crc | changed 2025-11-25 09:32:38.663931 | 2025-11-25 09:32:38.664067 | TASK [deploy-crc-cloud : Get htpasswd for redhat] 2025-11-25 09:32:39.059510 | crc | time="2025-11-25T09:32:39Z" level=warning msg="The input device is not a TTY. The --tty and --interactive flags might not work properly" 2025-11-25 09:32:41.213976 | crc | changed 2025-11-25 09:32:41.231419 | 2025-11-25 09:32:41.231569 | TASK [deploy-crc-cloud : Cleanup htpasswd.txt file] 2025-11-25 09:32:41.843825 | crc | changed 2025-11-25 09:32:41.860795 | 2025-11-25 09:32:41.860980 | TASK [deploy-crc-cloud : Create secret with generic htpass-secret] 2025-11-25 09:32:42.455363 | crc | changed 2025-11-25 09:32:42.464262 | 2025-11-25 09:32:42.464346 | TASK [deploy-crc-cloud : Replace htpass-secret] 2025-11-25 09:32:43.042865 | crc | secret/htpass-secret replaced 2025-11-25 09:32:43.533581 | crc | changed 2025-11-25 09:32:43.542527 | 2025-11-25 09:32:43.542623 | TASK [deploy-crc-cloud : Remove temporary directory] 2025-11-25 09:32:43.920619 | crc | changed 2025-11-25 09:32:43.932697 | 2025-11-25 09:32:43.932829 | TASK [deploy-crc-cloud : Replace default CA] 2025-11-25 09:32:43.959196 | crc | ok 2025-11-25 09:32:43.977824 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/replace_default_ca.yaml 2025-11-25 09:32:44.006379 | 2025-11-25 09:32:44.006520 | TASK [deploy-crc-cloud : Generate key] 2025-11-25 09:32:46.564537 | crc | changed 2025-11-25 09:32:46.583310 | 2025-11-25 09:32:46.583504 | TASK [deploy-crc-cloud : Generate cert] 2025-11-25 09:32:47.148397 | crc | changed 2025-11-25 09:32:47.170473 | 2025-11-25 09:32:47.170643 | TASK [deploy-crc-cloud : Generate csr] 2025-11-25 09:32:47.775736 | crc | ...........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..............+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+...+...+.......+........+.+......+........+.......+...+..............+.......+...........+.........+...+.+.........+........+...+.+...+........+...+.+......+...............+..+...+...............+....+...+..+.+...............+.....+.........+...+.......+...+.....+.+...........+.+...+......+......+..............+...+......+.+.....+.+...+..+...+....+..+.+............+.....+.+..+..........+..+.............+...+...............+..+..................+......+.+........+......+...+.+......+........+.+......+........+.......+.....+....+..............+...............+...+...+.+.....+....+..+.......+........+.........+....+............+...+.....+......+.+...+.....+..........+.........+..+.+.........+...+..+....+..+............+.+..+....+...........+...+.+...+........+.......+...+..................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2025-11-25 09:32:47.921148 | crc | ...+......+.....+.+..+...+....+...+..+..........+...+..+.............+..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+....................+...+.+......+........+.+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+...+...+.....+....+..................+..+....+.........+..+....+..+...+.........+.+..+....+.....+.+...+..............+.+.....+......+.+...............+........+.........+...+.........+...+...+...+.......+.....+....+......+...+...........+.+..+.+...........+.+..+...+.............+..+.......+...+............+...........+.+...........+...+....+...+....................+....+........+......+....+..+.+............+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2025-11-25 09:32:47.925131 | crc | ----- 2025-11-25 09:32:48.297615 | crc | changed 2025-11-25 09:32:48.305983 | 2025-11-25 09:32:48.306086 | TASK [deploy-crc-cloud : Generate user cert] 2025-11-25 09:32:48.652691 | crc | Certificate request self-signature ok 2025-11-25 09:32:48.662105 | crc | subject=O = ${GROUP}, CN = core 2025-11-25 09:32:48.857148 | crc | changed 2025-11-25 09:32:48.866789 | 2025-11-25 09:32:48.866887 | TASK [deploy-crc-cloud : Create configmap] 2025-11-25 09:32:49.516136 | crc | configmap/client-ca-custom created 2025-11-25 09:32:49.926408 | crc | changed 2025-11-25 09:32:49.937732 | 2025-11-25 09:32:49.937840 | TASK [deploy-crc-cloud : Patch apiserver] 2025-11-25 09:32:50.418513 | crc | apiserver.config.openshift.io/cluster patched 2025-11-25 09:32:50.541099 | crc | changed 2025-11-25 09:32:50.559100 | 2025-11-25 09:32:50.559245 | TASK [deploy-crc-cloud : Create configmap] 2025-11-25 09:32:51.105950 | crc | W1125 09:32:51.105853 13719 helpers.go:703] --dry-run is deprecated and can be replaced with --dry-run=client. 2025-11-25 09:32:51.142297 | crc | configmap/admin-kubeconfig-client-ca replaced 2025-11-25 09:32:51.621631 | crc | changed 2025-11-25 09:32:51.629781 | 2025-11-25 09:32:51.629857 | TASK [deploy-crc-cloud : Login to the OpenShift cluster] 2025-11-25 09:32:51.662320 | crc | ok 2025-11-25 09:32:51.671201 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/login.yaml 2025-11-25 09:32:51.710810 | 2025-11-25 09:32:51.716244 | TASK [deploy-crc-cloud : Try to login after all changes] 2025-11-25 09:32:52.176335 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-11-25 09:32:52.584599 | crc | 2025-11-25 09:32:52.584675 | crc | Login successful. 2025-11-25 09:32:52.609789 | crc | 2025-11-25 09:32:52.609849 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-11-25 09:32:53.956016 | crc | 2025-11-25 09:32:53.956199 | crc | Using project "default". 2025-11-25 09:32:54.279770 | crc | ok 2025-11-25 09:32:54.296546 | 2025-11-25 09:32:54.296738 | TASK [deploy-crc-cloud : Patch pull secret] 2025-11-25 09:32:54.339998 | crc | ok 2025-11-25 09:32:54.373923 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/patch_pull_secret.yaml 2025-11-25 09:32:54.403620 | 2025-11-25 09:32:54.403776 | TASK [deploy-crc-cloud : Patch pull secret] 2025-11-25 09:32:54.975558 | crc | Output suppressed because no_log was given 2025-11-25 09:32:54.994310 | 2025-11-25 09:32:54.994484 | TASK [deploy-crc-cloud : Wait for cluster become healthy after patching CA and pull secret] 2025-11-25 09:32:55.024481 | crc | ok 2025-11-25 09:32:55.037984 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 09:32:55.082079 | 2025-11-25 09:32:55.082192 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-11-25 09:32:55.569202 | crc | True 2025-11-25 09:32:55.569258 | crc | True 2025-11-25 09:32:55.642627 | crc | changed 2025-11-25 09:32:55.654233 | 2025-11-25 09:32:55.654344 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 09:32:55.691343 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 09:32:55.701557 | 2025-11-25 09:32:55.701702 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 09:32:55.717548 | crc | skipping: Conditional result was False 2025-11-25 09:32:55.733856 | 2025-11-25 09:32:55.733988 | TASK [deploy-crc-cloud : Create certificate and patch secret] 2025-11-25 09:32:55.749810 | crc | skipping: Conditional result was False 2025-11-25 09:32:55.764526 | 2025-11-25 09:32:55.764662 | TASK [deploy-crc-cloud : Wait for cluster become healthy after adding domain] 2025-11-25 09:32:55.792121 | crc | ok 2025-11-25 09:32:55.804085 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 09:32:55.836007 | 2025-11-25 09:32:55.836134 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy etcd|openshift-apiserver] 2025-11-25 09:32:56.280512 | crc | True 2025-11-25 09:32:56.281166 | crc | True 2025-11-25 09:32:56.382302 | crc | changed 2025-11-25 09:32:56.395731 | 2025-11-25 09:32:56.395893 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 09:32:56.443007 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 09:32:56.453499 | 2025-11-25 09:32:56.453603 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 09:32:56.478961 | crc | skipping: Conditional result was False 2025-11-25 09:32:56.492286 | 2025-11-25 09:32:56.492474 | TASK [deploy-crc-cloud : Patch ingress config] 2025-11-25 09:32:56.520066 | crc | skipping: Conditional result was False 2025-11-25 09:32:56.531895 | 2025-11-25 09:32:56.532009 | TASK [deploy-crc-cloud : Patch api server] 2025-11-25 09:32:56.557941 | crc | skipping: Conditional result was False 2025-11-25 09:32:56.571519 | 2025-11-25 09:32:56.571637 | TASK [deploy-crc-cloud : Patch default route] 2025-11-25 09:32:56.709051 | crc | skipping: Conditional result was False 2025-11-25 09:32:56.724795 | 2025-11-25 09:32:56.724966 | TASK [deploy-crc-cloud : Wait for cluster become healthy after changing ingress api server and default route] 2025-11-25 09:32:56.763356 | crc | ok 2025-11-25 09:32:56.775654 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/src/github.com/crc-org/crc-cloud/ansible/roles/deploy-crc-cloud/tasks/wait_cluster_become_healthy.yaml 2025-11-25 09:32:56.810571 | 2025-11-25 09:32:56.810667 | TASK [deploy-crc-cloud : Check if specified OpenShift components are healthy authentication|console|etcd|ingress|openshift-apiserver] 2025-11-25 09:32:57.330245 | crc | True 2025-11-25 09:32:57.330922 | crc | True 2025-11-25 09:32:57.330940 | crc | True 2025-11-25 09:32:57.330948 | crc | True 2025-11-25 09:32:57.331021 | crc | True 2025-11-25 09:32:57.384891 | crc | changed 2025-11-25 09:32:57.408088 | 2025-11-25 09:32:57.408294 | TASK [deploy-crc-cloud : Output success message if components are healthy] 2025-11-25 09:32:57.447182 | crc | ok: OpenShift cluster components have become healthy in approximately 20 * 15 seconds. 2025-11-25 09:32:57.456869 | 2025-11-25 09:32:57.456983 | TASK [deploy-crc-cloud : Fail if any components are still unhealthy] 2025-11-25 09:32:57.492641 | crc | skipping: Conditional result was False 2025-11-25 09:32:57.503922 | 2025-11-25 09:32:57.504039 | TASK [deploy-crc-cloud : Get console route] 2025-11-25 09:32:57.529985 | crc | skipping: Conditional result was False 2025-11-25 09:32:57.553303 | 2025-11-25 09:32:57.553441 | TASK [Start crc-cloud role when Zuul is not defined] 2025-11-25 09:32:57.599264 | crc | skipping: Conditional result was False 2025-11-25 09:32:57.618132 | 2025-11-25 09:32:57.618372 | TASK [prepare-crc-cloud : Recreate kubelet config.json] 2025-11-25 09:32:57.669144 | crc | ok 2025-11-25 09:32:57.692042 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/inject-pull-secret.yaml 2025-11-25 09:32:57.729453 | 2025-11-25 09:32:57.729596 | TASK [prepare-crc-cloud : Fail when openshift_pull_sec not provided] 2025-11-25 09:32:57.805859 | crc | skipping: Conditional result was False 2025-11-25 09:32:57.814672 | 2025-11-25 09:32:57.814798 | TASK [prepare-crc-cloud : Cleanup file] 2025-11-25 09:32:58.377815 | crc | Output suppressed because no_log was given 2025-11-25 09:32:58.385239 | 2025-11-25 09:32:58.385316 | TASK [prepare-crc-cloud : Copy pull-secret to kubelet config.json] 2025-11-25 09:32:58.746203 | crc | Output suppressed because no_log was given 2025-11-25 09:32:58.756251 | 2025-11-25 09:32:58.756413 | TASK [prepare-crc-cloud : Replace singleqoute with doublequote] 2025-11-25 09:32:59.294410 | crc | changed: 42 replacements made 2025-11-25 09:32:59.304374 | 2025-11-25 09:32:59.304469 | TASK [prepare-crc-cloud : Remove spaces] 2025-11-25 09:32:59.664208 | crc | changed: 20 replacements made 2025-11-25 09:32:59.681205 | 2025-11-25 09:32:59.681384 | TASK [prepare-crc-cloud : Ensure you are logged in to the OpenShift] 2025-11-25 09:32:59.717947 | crc | ok 2025-11-25 09:32:59.730105 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/openshift_login.yaml 2025-11-25 09:32:59.762782 | 2025-11-25 09:32:59.762938 | TASK [prepare-crc-cloud : Login to the OpenShift] 2025-11-25 09:33:00.254132 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-11-25 09:33:00.374324 | crc | 2025-11-25 09:33:00.374393 | crc | Login successful. 2025-11-25 09:33:00.389357 | crc | 2025-11-25 09:33:00.389417 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-11-25 09:33:01.112172 | crc | 2025-11-25 09:33:01.112482 | crc | Using project "default". 2025-11-25 09:33:01.398838 | crc | ok 2025-11-25 09:33:01.416509 | 2025-11-25 09:33:01.416661 | TASK [prepare-crc-cloud : Post tasks after crc-cloud script execution] 2025-11-25 09:33:01.462139 | crc | ok 2025-11-25 09:33:01.480308 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/post.yaml 2025-11-25 09:33:01.516779 | 2025-11-25 09:33:01.516928 | LOOP [prepare-crc-cloud : Set DNS nameservers provided by cloud provider] 2025-11-25 09:33:01.867539 | crc | changed: line added 2025-11-25 09:33:01.868132 | crc | changed: All items complete 2025-11-25 09:33:01.868220 | 2025-11-25 09:33:02.139124 | crc | changed: line added 2025-11-25 09:33:02.169723 | 2025-11-25 09:33:02.169944 | TASK [prepare-crc-cloud : Increase dnsmasq cache size] 2025-11-25 09:33:02.565863 | crc | changed: line added 2025-11-25 09:33:02.576095 | 2025-11-25 09:33:02.576245 | TASK [prepare-crc-cloud : Reload NetworkManager after adding cache and DNS server] 2025-11-25 09:33:03.390712 | crc | changed 2025-11-25 09:33:03.401625 | 2025-11-25 09:33:03.401752 | TASK [prepare-crc-cloud : Ensure kube config does not exists] 2025-11-25 09:33:03.723647 | crc | ok 2025-11-25 09:33:03.732228 | 2025-11-25 09:33:03.732303 | TASK [prepare-crc-cloud : Copy new generated KUBECONFIG] 2025-11-25 09:33:03.768432 | crc | skipping: Conditional result was False 2025-11-25 09:33:03.776693 | 2025-11-25 09:33:03.776765 | TASK [prepare-crc-cloud : Delete all openshift-marketplace pods] 2025-11-25 09:33:04.299619 | crc | pod "certified-operators-k44hp" deleted 2025-11-25 09:33:04.309779 | crc | pod "certified-operators-k7vf4" deleted 2025-11-25 09:33:04.317481 | crc | pod "community-operators-ct4kr" deleted 2025-11-25 09:33:04.327349 | crc | pod "community-operators-gdg5c" deleted 2025-11-25 09:33:04.331303 | crc | pod "marketplace-operator-79b997595-4qpf8" deleted 2025-11-25 09:33:04.337348 | crc | pod "redhat-marketplace-9sdhr" deleted 2025-11-25 09:33:04.346653 | crc | pod "redhat-marketplace-jmrhz" deleted 2025-11-25 09:33:04.355782 | crc | pod "redhat-operators-md25m" deleted 2025-11-25 09:33:04.370753 | crc | pod "redhat-operators-nhd9g" deleted 2025-11-25 09:33:16.401202 | crc | ok 2025-11-25 09:33:16.409864 | 2025-11-25 09:33:16.409983 | TASK [prepare-crc-cloud : Pause machineconfigpool] 2025-11-25 09:33:16.459550 | crc | ok 2025-11-25 09:33:16.473432 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/roles/prepare-crc-cloud/tasks/pause_mcp.yaml 2025-11-25 09:33:16.585639 | 2025-11-25 09:33:16.585850 | LOOP [prepare-crc-cloud : Pause the machineconfig configuration if mcp is not needed] 2025-11-25 09:33:17.203498 | crc | ok 2025-11-25 09:33:17.644764 | crc | ok 2025-11-25 09:33:17.674931 | 2025-11-25 09:33:17.675146 | TASK [prepare-crc-cloud : Print current machineconfigpool] 2025-11-25 09:33:18.137991 | crc | NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE 2025-11-25 09:33:18.138058 | crc | master rendered-master-f83a149c7490c3b0bf850df839837383 False True True 1 0 0 1 275d 2025-11-25 09:33:18.138170 | crc | worker rendered-worker-594cc07c9feefb5e37f2530ac457d36c True False False 0 0 0 0 275d 2025-11-25 09:33:18.234374 | crc | ok 2025-11-25 09:33:18.252413 | 2025-11-25 09:33:18.252650 | TASK [prepare-crc-cloud : Set low profile to etcd to avoid flakiness] 2025-11-25 09:33:18.280434 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.299666 | 2025-11-25 09:33:18.299917 | TASK [prepare-crc-cloud : Fix machineconfigpool degradation] 2025-11-25 09:33:18.327706 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.348354 | 2025-11-25 09:33:18.348575 | TASK [prepare-crc-cloud : Remove drain machineconfig for the node] 2025-11-25 09:33:18.376341 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.390767 | 2025-11-25 09:33:18.390919 | TASK [prepare-crc-cloud : Post machineconfigpool tasks] 2025-11-25 09:33:18.416739 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.429604 | 2025-11-25 09:33:18.429780 | TASK [prepare-crc-cloud : Enable monitoring and cluster-monitoring-operator] 2025-11-25 09:33:18.455925 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.478351 | 2025-11-25 09:33:18.478506 | TASK [Run crc-extracted preparation] 2025-11-25 09:33:18.504330 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.519198 | 2025-11-25 09:33:18.519506 | TASK [Fail when image build date does not exists] 2025-11-25 09:33:18.546011 | crc | skipping: Conditional result was False 2025-11-25 09:33:18.600290 | 2025-11-25 09:33:18.600408 | PLAY [Set IOPS and Read/Write disk limitation] 2025-11-25 09:33:18.634263 | 2025-11-25 09:33:18.634416 | TASK [Set limit for disk usage - IOPS and Read/Write] 2025-11-25 09:33:18.705961 | crc | ok 2025-11-25 09:33:18.714084 | controller | ok 2025-11-25 09:33:18.756528 | 2025-11-25 09:33:18.756671 | TASK [disk-usage-limitation : Get block device major:minor] 2025-11-25 09:33:19.144651 | crc | 252:0 2025-11-25 09:33:19.366665 | crc | ok 2025-11-25 09:33:19.372412 | controller | ok 2025-11-25 09:33:19.378070 | 2025-11-25 09:33:19.378135 | LOOP [disk-usage-limitation : Ensure that some cgroup dirs exists] 2025-11-25 09:33:19.761064 | crc | ok: "/sys/fs/cgroup/init.scope" 2025-11-25 09:33:19.762023 | crc | ok: All items complete 2025-11-25 09:33:19.762234 | 2025-11-25 09:33:19.771078 | controller | ok: "/sys/fs/cgroup/init.scope" 2025-11-25 09:33:19.328616 | controller | 252:0 2025-11-25 09:33:20.016475 | controller | changed: "/sys/fs/cgroup/machine.slice" 2025-11-25 09:33:20.058790 | crc | ok: "/sys/fs/cgroup/machine.slice" 2025-11-25 09:33:20.243082 | controller | ok: "/sys/fs/cgroup/system.slice" 2025-11-25 09:33:20.343039 | crc | ok: "/sys/fs/cgroup/system.slice" 2025-11-25 09:33:20.526301 | controller | ok: "/sys/fs/cgroup/user.slice" 2025-11-25 09:33:20.600297 | crc | ok: "/sys/fs/cgroup/user.slice" 2025-11-25 09:33:20.609529 | 2025-11-25 09:33:20.609668 | TASK [disk-usage-limitation : Ensure systemd configuration directory] 2025-11-25 09:33:20.906055 | controller | changed 2025-11-25 09:33:20.934878 | crc | ok 2025-11-25 09:33:20.944509 | 2025-11-25 09:33:20.944634 | TASK [disk-usage-limitation : Enable IO limit via override configuration] 2025-11-25 09:33:21.835221 | controller | changed 2025-11-25 09:33:21.904608 | crc | changed 2025-11-25 09:33:21.914980 | 2025-11-25 09:33:21.915341 | TASK [disk-usage-limitation : Flush handlers that will call systemd daemon-reload] 2025-11-25 09:33:21.950952 | 2025-11-25 09:33:21.951100 | TASK [disk-usage-limitation : Flush handlers that will call systemd daemon-reload] 2025-11-25 09:33:21.964986 | 2025-11-25 09:33:21.965073 | TASK [disk-usage-limitation : Reload systemd daemon after enabling IOAccounting] 2025-11-25 09:33:23.053148 | controller | ok 2025-11-25 09:33:24.041661 | crc | ok 2025-11-25 09:33:24.054160 | 2025-11-25 09:33:24.054332 | TASK [disk-usage-limitation : Wait for system.slice cgroup to have io.max file] 2025-11-25 09:33:24.376645 | controller | ok 2025-11-25 09:33:24.389405 | crc | ok 2025-11-25 09:33:24.399452 | 2025-11-25 09:33:24.399670 | LOOP [disk-usage-limitation : Set IOPS limit in the root cgroup] 2025-11-25 09:33:24.760789 | controller | ok 2025-11-25 09:33:24.761362 | controller | ok: All items complete 2025-11-25 09:33:24.761425 | 2025-11-25 09:33:24.776866 | crc | ok 2025-11-25 09:33:25.014671 | controller | ok 2025-11-25 09:33:25.056883 | crc | ok 2025-11-25 09:33:25.289893 | controller | ok 2025-11-25 09:33:25.339071 | crc | ok 2025-11-25 09:33:25.503223 | controller | ok 2025-11-25 09:33:25.641429 | crc | ok 2025-11-25 09:33:25.652433 | 2025-11-25 09:33:25.652592 | TASK [disk-usage-limitation : Verify the IOPS limit] 2025-11-25 09:33:26.019994 | controller | init 2025-11-25 09:33:26.024615 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.024634 | controller | machine 2025-11-25 09:33:26.024640 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.024647 | controller | system 2025-11-25 09:33:26.024656 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.024662 | controller | user 2025-11-25 09:33:26.024669 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.071217 | crc | init 2025-11-25 09:33:26.072474 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.072813 | crc | machine 2025-11-25 09:33:26.073860 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.074050 | crc | system 2025-11-25 09:33:26.074983 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.075184 | crc | user 2025-11-25 09:33:26.076446 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:26.271739 | controller | ok 2025-11-25 09:33:26.282407 | crc | ok 2025-11-25 09:33:26.295751 | 2025-11-25 09:33:26.295924 | TASK [disk-usage-limitation : Check if kubepods.slice exists] 2025-11-25 09:33:26.590577 | controller | ok 2025-11-25 09:33:26.617331 | crc | ok 2025-11-25 09:33:26.631533 | 2025-11-25 09:33:26.631668 | TASK [disk-usage-limitation : Set the limit] 2025-11-25 09:33:27.209453 | controller | skipping: Conditional result was False 2025-11-25 09:33:27.222280 | crc | ok 2025-11-25 09:33:27.231777 | 2025-11-25 09:33:27.231928 | TASK [disk-usage-limitation : Verify the IOPS limit - kubepods slice] 2025-11-25 09:33:27.645929 | crc | kubepods 2025-11-25 09:33:27.647011 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.808280 | controller | skipping: Conditional result was False 2025-11-25 09:33:27.824281 | crc | ok 2025-11-25 09:33:27.838321 | 2025-11-25 09:33:27.838434 | TASK [disk-usage-limitation : Print the current io.max value] 2025-11-25 09:33:27.910218 | crc | ok: 2025-11-25 09:33:27.910490 | crc | init 2025-11-25 09:33:27.910525 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.910551 | crc | machine 2025-11-25 09:33:27.910576 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.910598 | crc | system 2025-11-25 09:33:27.910620 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.910642 | crc | user 2025-11-25 09:33:27.910664 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 kubepods 2025-11-25 09:33:27.911119 | crc | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.916650 | controller | ok: 2025-11-25 09:33:27.916723 | controller | init 2025-11-25 09:33:27.916747 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.916766 | controller | machine 2025-11-25 09:33:27.916784 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.916801 | controller | system 2025-11-25 09:33:27.916817 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:27.916834 | controller | user 2025-11-25 09:33:27.916850 | controller | 252:0 rbps=262144000 wbps=262144000 riops=18000 wiops=18000 2025-11-25 09:33:28.018331 | 2025-11-25 09:33:28.018442 | PLAY RECAP 2025-11-25 09:33:28.018485 | controller | ok: 10 changed: 3 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-11-25 09:33:28.018512 | crc | ok: 104 changed: 41 unreachable: 0 failed: 0 skipped: 27 rescued: 0 ignored: 0 2025-11-25 09:33:28.018531 | 2025-11-25 09:33:28.197160 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/prepare-crc.yaml@master] 2025-11-25 09:33:28.206524 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/podman.yaml@master] 2025-11-25 09:33:28.811284 | 2025-11-25 09:33:28.811479 | PLAY [all,!compute] 2025-11-25 09:33:28.859958 | 2025-11-25 09:33:28.860062 | TASK [Enable container-tools rhel-modules for c8/crc node] 2025-11-25 09:33:29.422012 | controller | skipping: Conditional result was False 2025-11-25 09:33:29.423120 | crc | skipping: Conditional result was False 2025-11-25 09:33:29.438009 | 2025-11-25 09:33:29.438165 | TASK [Install podman] 2025-11-25 09:33:29.533759 | crc | skipping: Conditional result was False 2025-11-25 09:34:58.274749 | controller | changed 2025-11-25 09:34:58.297366 | 2025-11-25 09:34:58.297600 | TASK [Set var name for quay login zuul secret] 2025-11-25 09:34:58.352598 | controller | skipping: Conditional result was False 2025-11-25 09:34:58.373961 | crc | skipping: Conditional result was False 2025-11-25 09:34:58.381039 | 2025-11-25 09:34:58.381175 | TASK [Print the username] 2025-11-25 09:34:58.827793 | controller | openstack-k8s-operators+cirobot 2025-11-25 09:34:58.952329 | crc | skipping: Conditional result was False 2025-11-25 09:34:58.958394 | controller | ok: Runtime: 0:00:00.004923 2025-11-25 09:34:58.964183 | 2025-11-25 09:34:58.964248 | TASK [Fail when user or password is not set] 2025-11-25 09:34:59.020734 | crc | skipping: Conditional result was False 2025-11-25 09:34:59.041550 | controller | skipping: Conditional result was False 2025-11-25 09:34:59.047828 | 2025-11-25 09:34:59.047897 | TASK [Set vars for quay login] 2025-11-25 09:34:59.114300 | controller | Output suppressed because no_log was given 2025-11-25 09:34:59.119759 | 2025-11-25 09:34:59.119823 | LOOP [Perform container registry login(s) with podman] 2025-11-25 09:35:00.497285 | controller | Output suppressed because no_log was given 2025-11-25 09:35:00.506288 | 2025-11-25 09:35:00.506400 | LOOP [Perform container registry login(s) with buildah] 2025-11-25 09:35:00.551510 | controller | Output suppressed because no_log was given 2025-11-25 09:35:00.552073 | 2025-11-25 09:35:00.579429 | 2025-11-25 09:35:00.579549 | TASK [Set Insecure registry for content provider] 2025-11-25 09:35:00.636437 | crc | skipping: Conditional result was False 2025-11-25 09:35:01.098235 | controller | changed: Block inserted 2025-11-25 09:35:01.172610 | 2025-11-25 09:35:01.172748 | PLAY RECAP 2025-11-25 09:35:01.172795 | controller | ok: 5 changed: 4 unreachable: 0 failed: 0 skipped: 4 rescued: 0 ignored: 0 2025-11-25 09:35:01.172822 | crc | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 9 rescued: 0 ignored: 0 2025-11-25 09:35:01.172841 | 2025-11-25 09:35:01.273159 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/podman.yaml@master] 2025-11-25 09:35:01.277952 | PRE-RUN START: [trusted : review.rdoproject.org/config/playbooks/data_plane_adoption/dpa_RH_subscription_registry_login.yaml@master] 2025-11-25 09:35:01.880517 | 2025-11-25 09:35:01.880632 | PLAY [rh-subscription] 2025-11-25 09:35:01.880737 | 2025-11-25 09:35:01.880776 | PLAY RECAP 2025-11-25 09:35:01.880804 | 2025-11-25 09:35:01.969441 | PRE-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/data_plane_adoption/dpa_RH_subscription_registry_login.yaml@master] 2025-11-25 09:35:01.973928 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-customizations.yml@main] 2025-11-25 09:35:02.629976 | 2025-11-25 09:35:02.630132 | PLAY [Tweak CRC node] 2025-11-25 09:35:02.674605 | 2025-11-25 09:35:02.674747 | TASK [Load network parameters] 2025-11-25 09:35:03.246070 | crc | ok 2025-11-25 09:35:03.255461 | 2025-11-25 09:35:03.255552 | TASK [Check which dnsmasq config we must edit] 2025-11-25 09:35:03.682253 | crc | ok 2025-11-25 09:35:03.689449 | 2025-11-25 09:35:03.689535 | TASK [Ensure crc knows about its second NIC] 2025-11-25 09:35:04.626257 | crc | changed 2025-11-25 09:35:04.636971 | 2025-11-25 09:35:04.637072 | TASK [Ensure crc does not get "public" DNS] 2025-11-25 09:35:05.941436 | crc | changed 2025-11-25 09:35:05.955504 | 2025-11-25 09:35:05.955626 | TASK [Restart NetworkManager] 2025-11-25 09:35:07.080082 | crc | changed 2025-11-25 09:35:07.100849 | 2025-11-25 09:35:07.101010 | LOOP [Configure dns forwarders] 2025-11-25 09:35:07.583025 | crc | ok 2025-11-25 09:35:07.880046 | crc | ok 2025-11-25 09:35:07.904852 | 2025-11-25 09:35:07.905072 | TASK [Configure local DNS for CRC pod] 2025-11-25 09:35:08.400042 | crc | ok 2025-11-25 09:35:08.416058 | 2025-11-25 09:35:08.416234 | TASK [Configure dnsmasq listen-address to listen on both br-ex and ci-private-network] 2025-11-25 09:35:08.830493 | crc | changed: line added 2025-11-25 09:35:08.845447 | 2025-11-25 09:35:08.845610 | TASK [Restart native dnsmasq service] 2025-11-25 09:35:09.433163 | crc | changed 2025-11-25 09:35:09.455467 | 2025-11-25 09:35:09.455633 | TASK [Stop dnsmasq] 2025-11-25 09:35:09.481038 | crc | skipping: Conditional result was False 2025-11-25 09:35:09.492143 | 2025-11-25 09:35:09.492288 | TASK [Make sure that crc-dnsmasq is not running] 2025-11-25 09:35:09.517003 | crc | skipping: Conditional result was False 2025-11-25 09:35:09.528137 | 2025-11-25 09:35:09.528244 | TASK [Start dnsmasq] 2025-11-25 09:35:09.553437 | crc | skipping: Conditional result was False 2025-11-25 09:35:09.567324 | 2025-11-25 09:35:09.567458 | TASK [Wait for CRC to be ready] 2025-11-25 09:35:10.217860 | crc | WARNING: Using insecure TLS client config. Setting this option is not supported! 2025-11-25 09:35:10.375247 | crc | 2025-11-25 09:35:10.375344 | crc | Login successful. 2025-11-25 09:35:10.399653 | crc | 2025-11-25 09:35:10.399736 | crc | You have access to 65 projects, the list has been suppressed. You can list all projects with 'oc projects' 2025-11-25 09:35:10.399757 | crc | 2025-11-25 09:35:10.399766 | crc | Using project "default". 2025-11-25 09:35:10.617432 | crc | changed 2025-11-25 09:35:10.633671 | 2025-11-25 09:35:10.633932 | TASK [Set insecure registry on crc node] 2025-11-25 09:35:10.685513 | crc | ok 2025-11-25 09:35:10.706967 | crc | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/tasks/set_crc_insecure_registry.yml 2025-11-25 09:35:10.722092 | 2025-11-25 09:35:10.722220 | TASK [Patch the image.config.openshift.io resource to include insecure registry] 2025-11-25 09:35:11.266138 | crc | image.config.openshift.io/cluster patched 2025-11-25 09:35:11.309094 | crc | changed 2025-11-25 09:35:11.315919 | 2025-11-25 09:35:11.315985 | TASK [Patch the image.config.openshift.io resource to allow registries] 2025-11-25 09:35:11.843142 | crc | image.config.openshift.io/cluster patched 2025-11-25 09:35:11.903749 | crc | changed 2025-11-25 09:35:11.919358 | 2025-11-25 09:35:11.919523 | TASK [Ensure registries.conf.d exists] 2025-11-25 09:35:12.340355 | crc | ok 2025-11-25 09:35:12.357555 | 2025-11-25 09:35:12.357731 | TASK [Set Insecure registry for content provider] 2025-11-25 09:35:12.812954 | crc | changed: File created 2025-11-25 09:35:12.832774 | 2025-11-25 09:35:12.832931 | TASK [Restart crio] 2025-11-25 09:35:14.593572 | crc | changed 2025-11-25 09:35:14.642015 | 2025-11-25 09:35:14.642115 | PLAY [Tweak Controller] 2025-11-25 09:35:14.660366 | 2025-11-25 09:35:14.660441 | TASK [Install other packages] 2025-11-25 09:35:23.596876 | controller | changed 2025-11-25 09:35:23.610214 | 2025-11-25 09:35:23.610394 | LOOP [Ensure we know compute host keys] 2025-11-25 09:35:24.032605 | controller | changed 2025-11-25 09:35:24.033236 | controller | ok: All items complete 2025-11-25 09:35:24.033290 | 2025-11-25 09:35:24.307398 | controller | changed 2025-11-25 09:35:24.339608 | 2025-11-25 09:35:24.339842 | TASK [Generate an ssh keypair] 2025-11-25 09:35:24.628633 | controller | Generating public/private ecdsa key pair. 2025-11-25 09:35:24.628934 | controller | Your identification has been saved in /home/zuul/.ssh/id_cifw 2025-11-25 09:35:24.628984 | controller | Your public key has been saved in /home/zuul/.ssh/id_cifw.pub 2025-11-25 09:35:24.628995 | controller | The key fingerprint is: 2025-11-25 09:35:24.629022 | controller | SHA256:UlOIAa4Be5R4BlR/nBbPpj5mH0n14gwomprQhCw4wag zuul@np0005534733.novalocal 2025-11-25 09:35:24.629029 | controller | The key's randomart image is: 2025-11-25 09:35:24.629035 | controller | +---[ECDSA 256]---+ 2025-11-25 09:35:24.629041 | controller | |++oo...+ .. | 2025-11-25 09:35:24.629047 | controller | |+++.. o *. | 2025-11-25 09:35:24.629053 | controller | |++o .. =o+ . | 2025-11-25 09:35:24.629059 | controller | |++ o o.+.. . | 2025-11-25 09:35:24.629065 | controller | |E.o ..oSo . . | 2025-11-25 09:35:24.629071 | controller | |.+ o o.. = . | 2025-11-25 09:35:24.629077 | controller | |. .o = o o | 2025-11-25 09:35:24.629083 | controller | |. o o o . | 2025-11-25 09:35:24.629089 | controller | | o . | 2025-11-25 09:35:24.629095 | controller | +----[SHA256]-----+ 2025-11-25 09:35:24.898003 | controller | changed 2025-11-25 09:35:24.905363 | 2025-11-25 09:35:24.905428 | TASK [Get public key] 2025-11-25 09:35:25.266044 | controller | ok 2025-11-25 09:35:25.280605 | 2025-11-25 09:35:25.280823 | TASK [Register pub key as a fact] 2025-11-25 09:35:25.338435 | controller | ok 2025-11-25 09:35:25.346552 | 2025-11-25 09:35:25.346651 | TASK [Load network parameters] 2025-11-25 09:35:25.703805 | controller | ok 2025-11-25 09:35:25.766269 | 2025-11-25 09:35:25.766380 | TASK [Check if cloud-init is overriding NM settings] 2025-11-25 09:35:26.148776 | controller | ok 2025-11-25 09:35:26.155243 | 2025-11-25 09:35:26.155345 | TASK [Remove cloud-init DNS override if present] 2025-11-25 09:35:26.171080 | controller | skipping: Conditional result was False 2025-11-25 09:35:26.184992 | 2025-11-25 09:35:26.185122 | TASK [Reload the NetworkManager to pick the changes] 2025-11-25 09:35:26.201321 | controller | skipping: Conditional result was False 2025-11-25 09:35:26.211421 | 2025-11-25 09:35:26.211540 | TASK [Get the default iface connection] 2025-11-25 09:35:26.661254 | controller | System eth0 2025-11-25 09:35:26.755111 | controller | changed 2025-11-25 09:35:26.768490 | 2025-11-25 09:35:26.768650 | TASK [Prepend CRC DNS server in the controllers default Network Manager connection configuation] 2025-11-25 09:35:29.341491 | controller | Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) 2025-11-25 09:35:29.827126 | controller | changed 2025-11-25 09:35:29.873873 | 2025-11-25 09:35:29.873994 | PLAY [Ensure persistent SSH access] 2025-11-25 09:35:29.916099 | 2025-11-25 09:35:29.916254 | TASK [Inject key in ansible_user] 2025-11-25 09:35:30.651662 | controller | changed 2025-11-25 09:35:30.735246 | crc | changed 2025-11-25 09:35:30.742951 | 2025-11-25 09:35:30.743034 | TASK [Inject key in root] 2025-11-25 09:35:31.213154 | crc | changed 2025-11-25 09:35:31.348865 | controller | changed 2025-11-25 09:35:31.421142 | 2025-11-25 09:35:31.421251 | PLAY [Add cloud-admin user on Compute] 2025-11-25 09:35:31.422516 | 2025-11-25 09:35:31.422565 | PLAY [Set some fancy hostname] 2025-11-25 09:35:31.439840 | 2025-11-25 09:35:31.439940 | TASK [Inject hostname in configuration file] 2025-11-25 09:35:32.538601 | controller | changed 2025-11-25 09:35:32.574565 | 2025-11-25 09:35:32.574754 | PLAY RECAP 2025-11-25 09:35:32.574835 | controller | ok: 12 changed: 8 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-11-25 09:35:32.574888 | crc | ok: 18 changed: 12 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2025-11-25 09:35:32.574924 | 2025-11-25 09:35:32.744051 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-customizations.yml@main] 2025-11-25 09:35:32.750176 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml@main] 2025-11-25 09:35:33.394040 | 2025-11-25 09:35:33.394211 | PLAY [Run ci/playbooks/e2e-prepare.yml] 2025-11-25 09:35:33.417443 | 2025-11-25 09:35:33.417526 | TASK [Clone repos in the job workspace] 2025-11-25 09:35:33.438185 | controller | ok 2025-11-25 09:35:33.456427 | 2025-11-25 09:35:33.456504 | TASK [prepare-workspace : Start zuul_console daemon.] 2025-11-25 09:35:34.146455 | controller | ok 2025-11-25 09:35:34.153124 | 2025-11-25 09:35:34.153188 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2025-11-25 09:35:46.245275 | controller | Output suppressed because no_log was given 2025-11-25 09:35:46.256655 | 2025-11-25 09:35:46.256745 | TASK [Create zuul-output directory] 2025-11-25 09:35:46.677765 | controller | ok 2025-11-25 09:35:46.691464 | 2025-11-25 09:35:46.691598 | TASK [Install required packages] 2025-11-25 09:35:48.415587 | controller | ok: Nothing to do 2025-11-25 09:35:48.430179 | 2025-11-25 09:35:48.430324 | TASK [Output pip related things] 2025-11-25 09:35:49.292350 | controller | pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9) 2025-11-25 09:35:49.484740 | controller | changed 2025-11-25 09:35:49.501275 | 2025-11-25 09:35:49.501487 | TASK [Install requirements] 2025-11-25 09:38:26.461273 | controller | changed 2025-11-25 09:38:26.489890 | 2025-11-25 09:38:26.490039 | TASK [Add cronjob to trigger job stats] 2025-11-25 09:38:26.549313 | controller | skipping: Conditional result was False 2025-11-25 09:38:26.566487 | 2025-11-25 09:38:26.566715 | LOOP [Construct project change list] 2025-11-25 09:38:26.641337 | controller | ok: 2025-11-25 09:38:26.641528 | controller | { 2025-11-25 09:38:26.641564 | controller | "branch": "main", 2025-11-25 09:38:26.641590 | controller | "change": "567", 2025-11-25 09:38:26.641614 | controller | "change_message": "AppCred controller support\n\nJira: [OSPRH-14737](https://issues.redhat.com/browse/OSPRH-14737)\r\n\r\nThis PR introduces a new ApplicationCredential (AC) controller in the keystone-operator. It watches `ApplicationCredential` custom resources and performs these actions:\r\n\r\n1. Creates Keystone ApplicationCredentials for each CR (authenticating as that user due to Keystone\u2019s default policy)\r\n2. Stores the AC\u2019s ID and Secret in a k8s secret\r\n3. Implements rotation logic based on `expirationDays` and `gracePeriodDays`:\r\n - Reconciles at least once a day, rotating any AC that\u2019s within or past its grace window\r\n - If an AC is already in the grace period at the next reconcile, it rotates immediately\r\n - The old ApplicationCredential in Keystone is *not revoked* on rotation (it naturally expires)\r\n\r\nAdditionally:\r\n- The controller waits for a `KeystoneAPI` resource to be `Ready` before proceeding with AC operations\r\n\r\nNotes:\r\n- CRD & RBAC for the `ApplicationCredential` resource are not automatically installed yet. These must be applied manually until openstack-operator integration is complete\r\n\r\nTo apply rbac permissions run `oc edit clusterrole keystone-operator-manager-role` and add:\r\n```\r\n- apiGroups:\r\n - keystone.openstack.org\r\n resources:\r\n - applicationcredentials\r\n verbs:\r\n - create\r\n - delete\r\n - get\r\n - list\r\n - patch\r\n - update\r\n - watch\r\n\r\n- apiGroups:\r\n - keystone.openstack.org\r\n resources:\r\n - applicationcredentials/finalizers\r\n verbs:\r\n - patch\r\n - update\r\n\r\n- apiGroups:\r\n - keystone.openstack.org\r\n resources:\r\n - applicationcredentials/status\r\n verbs:\r\n - get\r\n - patch\r\n - update\r\n```\r\nExample AC CR for barbican service user:\r\n```\r\napiVersion: keystone.openstack.org/v1beta1\r\nkind: ApplicationCredential\r\nmetadata:\r\n name: ac-barbican\r\n namespace: openstack\r\nspec:\r\n expirationDays: 365\r\n gracePeriodDays: 182\r\n passwordSelector: BarbicanPassword\r\n roles:\r\n - service\r\n secret: osp-secret\r\n userName: barbican\r\n\r\n```", 2025-11-25 09:38:26.641653 | controller | "change_url": "https://github.com/openstack-k8s-operators/keystone-operator/pull/567", 2025-11-25 09:38:26.641707 | controller | "commit_id": "aab5cfe1d4a691d84a96189c698c58d261af9e66", 2025-11-25 09:38:26.641747 | controller | "patchset": "aab5cfe1d4a691d84a96189c698c58d261af9e66", 2025-11-25 09:38:26.641771 | controller | "project": { 2025-11-25 09:38:26.641812 | controller | "canonical_hostname": "github.com", 2025-11-25 09:38:26.641837 | controller | "canonical_name": "github.com/openstack-k8s-operators/keystone-operator", 2025-11-25 09:38:26.641859 | controller | "name": "openstack-k8s-operators/keystone-operator", 2025-11-25 09:38:26.641882 | controller | "short_name": "keystone-operator", 2025-11-25 09:38:26.641903 | controller | "src_dir": "src/github.com/openstack-k8s-operators/keystone-operator" 2025-11-25 09:38:26.641925 | controller | }, 2025-11-25 09:38:26.641947 | controller | "topic": null 2025-11-25 09:38:26.641968 | controller | } 2025-11-25 09:38:26.723768 | 2025-11-25 09:38:26.723913 | PLAY [Run ci/playbooks/build_runner_image.yml] 2025-11-25 09:38:26.764908 | 2025-11-25 09:38:26.765036 | TASK [Filter out host if needed] 2025-11-25 09:38:26.776732 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 09:38:26.783371 | 2025-11-25 09:38:26.783451 | TASK [Filter out host if needed] 2025-11-25 09:38:26.820968 | crc | skipping: end_host conditional evaluated to False, continuing execution for crc 2025-11-25 09:38:26.826355 | 2025-11-25 09:38:26.826418 | TASK [Get git tag for image tagging] 2025-11-25 09:38:27.395883 | controller | skipping: Conditional result was False 2025-11-25 09:38:27.396941 | crc | skipping: Conditional result was False 2025-11-25 09:38:27.411596 | 2025-11-25 09:38:27.411784 | TASK [Set openstack-runner image] 2025-11-25 09:38:27.447572 | controller | skipping: Conditional result was False 2025-11-25 09:38:27.470216 | crc | skipping: Conditional result was False 2025-11-25 09:38:27.485033 | 2025-11-25 09:38:27.485205 | TASK [Build openstack-runner image] 2025-11-25 09:38:27.525247 | controller | skipping: Conditional result was False 2025-11-25 09:38:27.536290 | crc | skipping: Conditional result was False 2025-11-25 09:38:27.544711 | 2025-11-25 09:38:27.544796 | TASK [Push openstack-runner image] 2025-11-25 09:38:27.573471 | controller | skipping: Conditional result was False 2025-11-25 09:38:27.584281 | crc | skipping: Conditional result was False 2025-11-25 09:38:27.592331 | 2025-11-25 09:38:27.592414 | TASK [Make sure ci-framework directory exists] 2025-11-25 09:38:27.618204 | controller | skipping: Conditional result was False 2025-11-25 09:38:27.639115 | crc | skipping: Conditional result was False 2025-11-25 09:38:27.646218 | 2025-11-25 09:38:27.646307 | TASK [Create EDPM ansible var file] 2025-11-25 09:38:27.673752 | crc | skipping: Conditional result was False 2025-11-25 09:38:27.684592 | controller | skipping: Conditional result was False 2025-11-25 09:38:27.731738 | 2025-11-25 09:38:27.731840 | PLAY RECAP 2025-11-25 09:38:27.731879 | controller | ok: 7 changed: 3 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2025-11-25 09:38:27.731903 | crc | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 6 rescued: 0 ignored: 0 2025-11-25 09:38:27.731920 | 2025-11-25 09:38:27.843417 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml@main] 2025-11-25 09:38:27.846954 | PRE-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 09:38:28.449102 | 2025-11-25 09:38:28.449251 | PLAY [Run ci/playbooks/dump_zuul_data.yml] 2025-11-25 09:38:28.484398 | 2025-11-25 09:38:28.484565 | TASK [Create zuul-output directory] 2025-11-25 09:38:29.608074 | controller | changed 2025-11-25 09:38:29.622553 | 2025-11-25 09:38:29.622784 | TASK [Slurp Zuul inventory test] 2025-11-25 09:38:30.070233 | controller -> localhost | ok 2025-11-25 09:38:30.085726 | 2025-11-25 09:38:30.085883 | TASK [Save zuul inventory] 2025-11-25 09:38:31.164088 | controller | changed 2025-11-25 09:38:31.178830 | 2025-11-25 09:38:31.178976 | TASK [Save zuul vars without the change_message] 2025-11-25 09:38:32.075214 | controller | changed 2025-11-25 09:38:32.110063 | 2025-11-25 09:38:32.110207 | PLAY RECAP 2025-11-25 09:38:32.110279 | controller | ok: 4 changed: 3 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 09:38:32.110317 | 2025-11-25 09:38:32.278786 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 09:38:32.287774 | RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 09:38:32.940136 | 2025-11-25 09:38:32.940273 | PLAY [Run ci/playbooks/dump_zuul_data.yml] 2025-11-25 09:38:32.974824 | 2025-11-25 09:38:32.974972 | TASK [Create zuul-output directory] 2025-11-25 09:38:33.512592 | controller | ok 2025-11-25 09:38:33.531859 | 2025-11-25 09:38:33.532124 | TASK [Slurp Zuul inventory test] 2025-11-25 09:38:33.924151 | controller -> localhost | ok 2025-11-25 09:38:33.932727 | 2025-11-25 09:38:33.932800 | TASK [Save zuul inventory] 2025-11-25 09:38:34.890841 | controller | ok 2025-11-25 09:38:34.905146 | 2025-11-25 09:38:34.905282 | TASK [Save zuul vars without the change_message] 2025-11-25 09:38:35.612636 | controller | ok 2025-11-25 09:38:35.644325 | 2025-11-25 09:38:35.644400 | PLAY RECAP 2025-11-25 09:38:35.644457 | controller | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 09:38:35.644487 | 2025-11-25 09:38:35.774900 | RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/dump_zuul_data.yml@main] 2025-11-25 09:38:35.778342 | RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml@main] 2025-11-25 09:38:36.450141 | 2025-11-25 09:38:36.450258 | PLAY [Run ci/playbooks/kuttl/run.yml] 2025-11-25 09:38:36.475665 | 2025-11-25 09:38:36.475816 | TASK [Run kuttl tests playbook] 2025-11-25 09:38:37.984149 | controller | 2025-11-25 09:38:38.966647 | controller | PLAY [Bootstrap playbook] ****************************************************** 2025-11-25 09:38:38.966741 | controller | 2025-11-25 09:38:38.966753 | controller | TASK [Gathering Facts ] ******************************************************** 2025-11-25 09:38:38.966761 | controller | Tuesday 25 November 2025 09:38:37 +0000 (0:00:00.037) 0:00:00.037 ****** 2025-11-25 09:38:38.966769 | controller | Tuesday 25 November 2025 09:38:37 +0000 (0:00:00.036) 0:00:00.036 ****** 2025-11-25 09:38:38.966783 | controller | ok: [localhost] 2025-11-25 09:38:38.997549 | controller | 2025-11-25 09:38:38.997616 | controller | 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 09:38:38.997630 | controller | Tuesday 25 November 2025 09:38:38 +0000 (0:00:00.982) 0:00:01.020 ****** 2025-11-25 09:38:38.997637 | controller | Tuesday 25 November 2025 09:38:38 +0000 (0:00:00.982) 0:00:01.019 ****** 2025-11-25 09:38:38.997650 | controller | ok: [localhost] 2025-11-25 09:38:39.058331 | controller | 2025-11-25 09:38:39.058373 | controller | TASK [cifmw_setup : Get customized parameters ci_framework_params={{ 2025-11-25 09:38:39.058383 | controller | hostvars[inventory_hostname] | 2025-11-25 09:38:39.058396 | controller | dict2items | 2025-11-25 09:38:39.058405 | controller | selectattr("key", "match", 2025-11-25 09:38:39.058413 | controller | "^(cifmw|pre|post)_(?!install_yamls|openshift_token|openshift_login|openshift_kubeconfig).*") | 2025-11-25 09:38:39.058421 | controller | list | items2dict 2025-11-25 09:38:39.058429 | controller | }}] *** 2025-11-25 09:38:39.058437 | controller | Tuesday 25 November 2025 09:38:38 +0000 (0:00:00.030) 0:00:01.051 ****** 2025-11-25 09:38:39.058444 | controller | Tuesday 25 November 2025 09:38:38 +0000 (0:00:00.030) 0:00:01.050 ****** 2025-11-25 09:38:39.058458 | controller | ok: [localhost] 2025-11-25 09:38:39.479404 | controller | 2025-11-25 09:38:39.479439 | controller | TASK [install_ca : Ensure target directory exists path={{ cifmw_install_ca_trust_dir }}, state=directory, mode=0755] *** 2025-11-25 09:38:39.479447 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.060) 0:00:01.112 ****** 2025-11-25 09:38:39.479453 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.060) 0:00:01.110 ****** 2025-11-25 09:38:39.479464 | controller | ok: [localhost] 2025-11-25 09:38:39.502756 | controller | 2025-11-25 09:38:39.502790 | controller | 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 09:38:39.502798 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.420) 0:00:01.533 ****** 2025-11-25 09:38:39.502805 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.421) 0:00:01.531 ****** 2025-11-25 09:38:39.502821 | controller | skipping: [localhost] 2025-11-25 09:38:39.526726 | controller | 2025-11-25 09:38:39.526767 | controller | 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 09:38:39.526776 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.023) 0:00:01.557 ****** 2025-11-25 09:38:39.526783 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.023) 0:00:01.555 ****** 2025-11-25 09:38:39.526796 | controller | skipping: [localhost] 2025-11-25 09:38:39.554197 | controller | 2025-11-25 09:38:39.554236 | controller | 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 09:38:39.554246 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.024) 0:00:01.581 ****** 2025-11-25 09:38:39.554254 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.024) 0:00:01.579 ****** 2025-11-25 09:38:39.554267 | controller | skipping: [localhost] 2025-11-25 09:38:41.261346 | controller | 2025-11-25 09:38:41.261384 | controller | TASK [install_ca : Update ca bundle _raw_params=update-ca-trust] *************** 2025-11-25 09:38:41.261392 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.027) 0:00:01.608 ****** 2025-11-25 09:38:41.261409 | controller | Tuesday 25 November 2025 09:38:39 +0000 (0:00:00.027) 0:00:01.606 ****** 2025-11-25 09:38:41.261426 | controller | changed: [localhost] 2025-11-25 09:38:41.878138 | controller | 2025-11-25 09:38:41.878184 | controller | TASK [repo_setup : Ensure directories are present path={{ cifmw_repo_setup_basedir }}/{{ item }}, state=directory, mode=0755] *** 2025-11-25 09:38:41.878193 | controller | Tuesday 25 November 2025 09:38:41 +0000 (0:00:01.706) 0:00:03.315 ****** 2025-11-25 09:38:41.878200 | controller | Tuesday 25 November 2025 09:38:41 +0000 (0:00:01.707) 0:00:03.313 ****** 2025-11-25 09:38:41.878211 | controller | changed: [localhost] => (item=tmp) 2025-11-25 09:38:42.922741 | controller | changed: [localhost] => (item=artifacts/repositories) 2025-11-25 09:38:42.922784 | controller | changed: [localhost] => (item=venv/repo_setup) 2025-11-25 09:38:42.922795 | controller | 2025-11-25 09:38:42.922804 | controller | TASK [repo_setup : Make sure git-core package is installed name=git-core, state=present] *** 2025-11-25 09:38:42.922812 | controller | Tuesday 25 November 2025 09:38:41 +0000 (0:00:00.616) 0:00:03.932 ****** 2025-11-25 09:38:42.922820 | controller | Tuesday 25 November 2025 09:38:41 +0000 (0:00:00.616) 0:00:03.930 ****** 2025-11-25 09:38:42.922833 | controller | ok: [localhost] 2025-11-25 09:38:43.857133 | controller | 2025-11-25 09:38:43.857168 | controller | 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 09:38:43.857176 | controller | Tuesday 25 November 2025 09:38:42 +0000 (0:00:01.044) 0:00:04.976 ****** 2025-11-25 09:38:43.857183 | controller | Tuesday 25 November 2025 09:38:42 +0000 (0:00:01.044) 0:00:04.975 ****** 2025-11-25 09:38:43.857200 | controller | changed: [localhost] 2025-11-25 09:38:53.528782 | controller | 2025-11-25 09:38:53.528833 | controller | 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 09:38:53.528848 | controller | Tuesday 25 November 2025 09:38:43 +0000 (0:00:00.934) 0:00:05.911 ****** 2025-11-25 09:38:53.528857 | controller | Tuesday 25 November 2025 09:38:43 +0000 (0:00:00.934) 0:00:05.909 ****** 2025-11-25 09:38:53.528871 | controller | changed: [localhost] 2025-11-25 09:38:54.400464 | controller | 2025-11-25 09:38:54.400502 | controller | 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 09:38:54.400514 | controller | Tuesday 25 November 2025 09:38:53 +0000 (0:00:09.671) 0:00:15.583 ****** 2025-11-25 09:38:54.400521 | controller | Tuesday 25 November 2025 09:38:53 +0000 (0:00:09.671) 0:00:15.581 ****** 2025-11-25 09:38:54.400532 | controller | changed: [localhost] 2025-11-25 09:38:54.431871 | controller | 2025-11-25 09:38:54.431913 | controller | 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 09:38:54.431923 | controller | Tuesday 25 November 2025 09:38:54 +0000 (0:00:00.871) 0:00:16.454 ****** 2025-11-25 09:38:54.431931 | controller | Tuesday 25 November 2025 09:38:54 +0000 (0:00:00.871) 0:00:16.453 ****** 2025-11-25 09:38:54.431945 | controller | skipping: [localhost] 2025-11-25 09:38:55.140886 | controller | 2025-11-25 09:38:55.140928 | controller | 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 09:38:55.140940 | controller | Tuesday 25 November 2025 09:38:54 +0000 (0:00:00.031) 0:00:16.485 ****** 2025-11-25 09:38:55.140948 | controller | Tuesday 25 November 2025 09:38:54 +0000 (0:00:00.031) 0:00:16.484 ****** 2025-11-25 09:38:55.140970 | controller | changed: [localhost] 2025-11-25 09:38:55.182165 | controller | 2025-11-25 09:38:55.182212 | controller | 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 09:38:55.182254 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.708) 0:00:17.194 ****** 2025-11-25 09:38:55.182264 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.708) 0:00:17.193 ****** 2025-11-25 09:38:55.182279 | controller | skipping: [localhost] 2025-11-25 09:38:55.222373 | controller | 2025-11-25 09:38:55.222413 | controller | 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 09:38:55.222422 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.040) 0:00:17.235 ****** 2025-11-25 09:38:55.222429 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.040) 0:00:17.233 ****** 2025-11-25 09:38:55.222441 | controller | skipping: [localhost] 2025-11-25 09:38:55.262406 | controller | 2025-11-25 09:38:55.262454 | controller | 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 09:38:55.262464 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.041) 0:00:17.276 ****** 2025-11-25 09:38:55.262473 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.041) 0:00:17.274 ****** 2025-11-25 09:38:55.262489 | controller | skipping: [localhost] 2025-11-25 09:38:55.779272 | controller | 2025-11-25 09:38:55.779314 | controller | 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 09:38:55.779326 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.037) 0:00:17.313 ****** 2025-11-25 09:38:55.779335 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.037) 0:00:17.312 ****** 2025-11-25 09:38:55.779353 | controller | changed: [localhost] 2025-11-25 09:38:56.482629 | controller | 2025-11-25 09:38:56.482665 | controller | TASK [repo_setup : Dump full hash in delorean.repo.md5 file content={{ _repo_setup_json['full_hash'] }} 2025-11-25 09:38:56.482673 | controller | , dest={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5, mode=0644] *** 2025-11-25 09:38:56.482686 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.519) 0:00:17.833 ****** 2025-11-25 09:38:56.482693 | controller | Tuesday 25 November 2025 09:38:55 +0000 (0:00:00.519) 0:00:17.831 ****** 2025-11-25 09:38:56.482704 | controller | changed: [localhost] 2025-11-25 09:38:56.505332 | controller | 2025-11-25 09:38:56.505368 | controller | 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 09:38:56.505376 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.703) 0:00:18.536 ****** 2025-11-25 09:38:56.505389 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.703) 0:00:18.535 ****** 2025-11-25 09:38:56.505400 | controller | skipping: [localhost] 2025-11-25 09:38:56.529172 | controller | 2025-11-25 09:38:56.529207 | controller | TASK [repo_setup : Slurp current podified hash src={{ cifmw_repo_setup_basedir }}/artifacts/repositories/delorean.repo.md5] *** 2025-11-25 09:38:56.529215 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.022) 0:00:18.559 ****** 2025-11-25 09:38:56.529221 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.022) 0:00:18.558 ****** 2025-11-25 09:38:56.529232 | controller | skipping: [localhost] 2025-11-25 09:38:56.554712 | controller | 2025-11-25 09:38:56.554749 | controller | TASK [repo_setup : Update the value of full_hash _repo_setup_json={{ _repo_setup_json | combine({'full_hash': _hash}, recursive=true) }}] *** 2025-11-25 09:38:56.554757 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.023) 0:00:18.583 ****** 2025-11-25 09:38:56.554764 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.023) 0:00:18.581 ****** 2025-11-25 09:38:56.554775 | controller | skipping: [localhost] 2025-11-25 09:38:56.589549 | controller | 2025-11-25 09:38:56.589632 | controller | 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 09:38:56.589642 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.025) 0:00:18.608 ****** 2025-11-25 09:38:56.589650 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.025) 0:00:18.607 ****** 2025-11-25 09:38:56.589661 | controller | ok: [localhost] 2025-11-25 09:38:56.613755 | controller | 2025-11-25 09:38:56.613790 | controller | TASK [repo_setup : Create download directory path={{ cifmw_repo_setup_rhos_release_path }}, state=directory, mode=0755] *** 2025-11-25 09:38:56.613799 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.034) 0:00:18.643 ****** 2025-11-25 09:38:56.613805 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.034) 0:00:18.642 ****** 2025-11-25 09:38:56.613816 | controller | skipping: [localhost] 2025-11-25 09:38:56.636117 | controller | 2025-11-25 09:38:56.636160 | controller | TASK [repo_setup : Print the URL to request msg={{ cifmw_repo_setup_rhos_release_rpm }}] *** 2025-11-25 09:38:56.636167 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.024) 0:00:18.667 ****** 2025-11-25 09:38:56.636174 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.024) 0:00:18.666 ****** 2025-11-25 09:38:56.636186 | controller | skipping: [localhost] 2025-11-25 09:38:56.658106 | controller | 2025-11-25 09:38:56.658195 | controller | TASK [Download the RPM name=krb_request] *************************************** 2025-11-25 09:38:56.658210 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.022) 0:00:18.690 ****** 2025-11-25 09:38:56.658218 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.022) 0:00:18.688 ****** 2025-11-25 09:38:56.658241 | controller | skipping: [localhost] 2025-11-25 09:38:56.678414 | controller | 2025-11-25 09:38:56.678473 | controller | TASK [repo_setup : Install RHOS Release tool name={{ 2025-11-25 09:38:56.678482 | controller | cifmw_repo_setup_rhos_release_rpm 2025-11-25 09:38:56.678488 | controller | if cifmw_repo_setup_rhos_release_rpm is not url 2025-11-25 09:38:56.678494 | controller | else cifmw_krb_request_out.path 2025-11-25 09:38:56.678500 | controller | }}, state=present, disable_gpg_check={{ cifmw_repo_setup_rhos_release_gpg_check | bool }}] *** 2025-11-25 09:38:56.678507 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.021) 0:00:18.712 ****** 2025-11-25 09:38:56.678513 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.021) 0:00:18.710 ****** 2025-11-25 09:38:56.678530 | controller | skipping: [localhost] 2025-11-25 09:38:56.700971 | controller | 2025-11-25 09:38:56.701026 | controller | TASK [repo_setup : Get rhos-release tool version _raw_params=rhos-release --version] *** 2025-11-25 09:38:56.701045 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.020) 0:00:18.732 ****** 2025-11-25 09:38:56.701051 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.020) 0:00:18.731 ****** 2025-11-25 09:38:56.701066 | controller | skipping: [localhost] 2025-11-25 09:38:56.726671 | controller | 2025-11-25 09:38:56.726744 | controller | TASK [repo_setup : Print rhos-release tool version msg={{ rr_version.stdout }}] *** 2025-11-25 09:38:56.726755 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.022) 0:00:18.755 ****** 2025-11-25 09:38:56.726771 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.022) 0:00:18.753 ****** 2025-11-25 09:38:56.726808 | controller | skipping: [localhost] 2025-11-25 09:38:56.747648 | controller | 2025-11-25 09:38:56.747722 | controller | TASK [repo_setup : Generate repos using rhos-release {{ cifmw_repo_setup_rhos_release_args }} _raw_params=rhos-release {{ cifmw_repo_setup_rhos_release_args }} \ 2025-11-25 09:38:56.747732 | controller | -t {{ cifmw_repo_setup_output }}] *** 2025-11-25 09:38:56.747741 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.025) 0:00:18.780 ****** 2025-11-25 09:38:56.747749 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.025) 0:00:18.779 ****** 2025-11-25 09:38:56.747768 | controller | skipping: [localhost] 2025-11-25 09:38:56.938915 | controller | 2025-11-25 09:38:56.938977 | controller | TASK [repo_setup : Check for /etc/ci/mirror_info.sh path=/etc/ci/mirror_info.sh] *** 2025-11-25 09:38:56.938985 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.020) 0:00:18.801 ****** 2025-11-25 09:38:56.938991 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.020) 0:00:18.800 ****** 2025-11-25 09:38:56.939007 | controller | ok: [localhost] 2025-11-25 09:38:57.148444 | controller | 2025-11-25 09:38:57.148499 | controller | TASK [repo_setup : Use RDO proxy mirrors chdir={{ cifmw_repo_setup_output }}, _raw_params=set -o pipefail 2025-11-25 09:38:57.148506 | controller | source /etc/ci/mirror_info.sh 2025-11-25 09:38:57.148513 | controller | sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" *.repo 2025-11-25 09:38:57.148519 | controller | ] *** 2025-11-25 09:38:57.148526 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.191) 0:00:18.993 ****** 2025-11-25 09:38:57.148532 | controller | Tuesday 25 November 2025 09:38:56 +0000 (0:00:00.191) 0:00:18.991 ****** 2025-11-25 09:38:57.148546 | controller | changed: [localhost] 2025-11-25 09:38:57.417550 | controller | 2025-11-25 09:38:57.417626 | controller | 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 2025-11-25 09:38:57.417636 | controller | source /etc/ci/mirror_info.sh 2025-11-25 09:38:57.417643 | controller | sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" *.repo 2025-11-25 09:38:57.417650 | controller | ] *** 2025-11-25 09:38:57.417657 | controller | Tuesday 25 November 2025 09:38:57 +0000 (0:00:00.209) 0:00:19.202 ****** 2025-11-25 09:38:57.417663 | controller | Tuesday 25 November 2025 09:38:57 +0000 (0:00:00.209) 0:00:19.201 ****** 2025-11-25 09:38:57.417678 | controller | changed: [localhost] 2025-11-25 09:38:58.052704 | controller | 2025-11-25 09:38:58.052749 | controller | TASK [repo_setup : Check for gating.repo file on content provider url=http://{{ content_provider_registry_ip }}:8766/gating.repo] *** 2025-11-25 09:38:58.052759 | controller | Tuesday 25 November 2025 09:38:57 +0000 (0:00:00.268) 0:00:19.471 ****** 2025-11-25 09:38:58.052767 | controller | Tuesday 25 November 2025 09:38:57 +0000 (0:00:00.268) 0:00:19.469 ****** 2025-11-25 09:38:58.052782 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/repo_setup/tasks/populate_gating_repo.yml:2 2025-11-25 09:38:58.086925 | controller | fatal: [localhost]: FAILED! => 2025-11-25 09:38:58.086963 | controller | changed: false 2025-11-25 09:38:58.086970 | controller | elapsed: 0 2025-11-25 09:38:58.086978 | controller | msg: 'Status code was -1 and not [200]: Request failed: ' 2025-11-25 09:38:58.086991 | controller | redirected: false 2025-11-25 09:38:58.086997 | controller | status: -1 2025-11-25 09:38:58.087003 | controller | url: http://38.129.56.103:8766/gating.repo 2025-11-25 09:38:58.087009 | controller | ...ignoring 2025-11-25 09:38:58.087024 | controller | 2025-11-25 09:38:58.087030 | controller | TASK [repo_setup : Populate gating repo from content provider ip content=[gating-repo] 2025-11-25 09:38:58.087036 | controller | baseurl=http://{{ content_provider_registry_ip }}:8766/ 2025-11-25 09:38:58.087042 | controller | enabled=1 2025-11-25 09:38:58.087048 | controller | gpgcheck=0 2025-11-25 09:38:58.087054 | controller | priority=1 2025-11-25 09:38:58.087060 | controller | , dest={{ cifmw_repo_setup_output }}/gating.repo, mode=0644] *** 2025-11-25 09:38:58.087066 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.635) 0:00:20.106 ****** 2025-11-25 09:38:58.087073 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.635) 0:00:20.105 ****** 2025-11-25 09:38:58.087084 | controller | skipping: [localhost] 2025-11-25 09:38:58.122837 | controller | 2025-11-25 09:38:58.122883 | controller | TASK [repo_setup : Check for DLRN repo at the destination path={{ cifmw_repo_setup_output }}/delorean.repo] *** 2025-11-25 09:38:58.122893 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.034) 0:00:20.141 ****** 2025-11-25 09:38:58.122900 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.034) 0:00:20.139 ****** 2025-11-25 09:38:58.122913 | controller | skipping: [localhost] 2025-11-25 09:38:58.166481 | controller | 2025-11-25 09:38:58.166516 | controller | 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 09:38:58.166525 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.035) 0:00:20.176 ****** 2025-11-25 09:38:58.166531 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.035) 0:00:20.175 ****** 2025-11-25 09:38:58.166542 | controller | skipping: [localhost] 2025-11-25 09:38:58.208867 | controller | 2025-11-25 09:38:58.208900 | controller | TASK [repo_setup : Check for DLRN component repo path={{ cifmw_repo_setup_output }}/{{ _comp_repo }}] *** 2025-11-25 09:38:58.208908 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.043) 0:00:20.220 ****** 2025-11-25 09:38:58.208914 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.043) 0:00:20.219 ****** 2025-11-25 09:38:58.208925 | controller | skipping: [localhost] 2025-11-25 09:38:58.251689 | controller | 2025-11-25 09:38:58.251734 | controller | 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 09:38:58.251744 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.042) 0:00:20.263 ****** 2025-11-25 09:38:58.251752 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.042) 0:00:20.261 ****** 2025-11-25 09:38:58.251766 | controller | skipping: [localhost] 2025-11-25 09:38:58.550048 | controller | 2025-11-25 09:38:58.550085 | controller | TASK [repo_setup : Find existing repos from /etc/yum.repos.d directory paths=/etc/yum.repos.d/, patterns=*.repo, recurse=False] *** 2025-11-25 09:38:58.550093 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.042) 0:00:20.305 ****** 2025-11-25 09:38:58.550099 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.042) 0:00:20.304 ****** 2025-11-25 09:38:58.550110 | controller | ok: [localhost] 2025-11-25 09:38:59.106104 | controller | 2025-11-25 09:38:59.106170 | controller | TASK [repo_setup : Remove existing repos from /etc/yum.repos.d directory path={{ item }}, state=absent] *** 2025-11-25 09:38:59.106178 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.298) 0:00:20.604 ****** 2025-11-25 09:38:59.106185 | controller | Tuesday 25 November 2025 09:38:58 +0000 (0:00:00.298) 0:00:20.602 ****** 2025-11-25 09:38:59.106202 | controller | changed: [localhost] => (item=/etc/yum.repos.d/centos-addons.repo) 2025-11-25 09:38:59.605554 | controller | changed: [localhost] => (item=/etc/yum.repos.d/centos.repo) 2025-11-25 09:38:59.605612 | controller | 2025-11-25 09:38:59.605623 | controller | TASK [repo_setup : Cleanup existing metadata _raw_params=dnf clean metadata] *** 2025-11-25 09:38:59.605630 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.555) 0:00:21.160 ****** 2025-11-25 09:38:59.605636 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.555) 0:00:21.158 ****** 2025-11-25 09:38:59.605648 | controller | changed: [localhost] 2025-11-25 09:38:59.902621 | controller | 2025-11-25 09:38:59.902664 | controller | 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 09:38:59.902672 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.499) 0:00:21.659 ****** 2025-11-25 09:38:59.902683 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.499) 0:00:21.658 ****** 2025-11-25 09:38:59.902694 | controller | changed: [localhost] 2025-11-25 09:38:59.945851 | controller | 2025-11-25 09:38:59.945891 | controller | TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] *** 2025-11-25 09:38:59.945901 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.296) 0:00:21.956 ****** 2025-11-25 09:38:59.945909 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.296) 0:00:21.955 ****** 2025-11-25 09:38:59.945923 | controller | ok: [localhost] => (item=/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_setup/vars/redhat.yml) 2025-11-25 09:38:59.970212 | controller | 2025-11-25 09:38:59.970254 | controller | TASK [ci_setup : List packages to install var=cifmw_ci_setup_packages] ********* 2025-11-25 09:38:59.970267 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.043) 0:00:21.999 ****** 2025-11-25 09:38:59.970273 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.043) 0:00:21.998 ****** 2025-11-25 09:38:59.970285 | controller | ok: [localhost] => 2025-11-25 09:39:32.088481 | controller | cifmw_ci_setup_packages: 2025-11-25 09:39:32.088538 | controller | - bash-completion 2025-11-25 09:39:32.088546 | controller | - ca-certificates 2025-11-25 09:39:32.088552 | controller | - git-core 2025-11-25 09:39:32.088559 | controller | - make 2025-11-25 09:39:32.088565 | controller | - tar 2025-11-25 09:39:32.088571 | controller | - tmux 2025-11-25 09:39:32.088577 | controller | - python3-pip 2025-11-25 09:39:32.088583 | controller | 2025-11-25 09:39:32.088614 | controller | TASK [ci_setup : Install needed packages name={{ cifmw_ci_setup_packages }}, state=latest] *** 2025-11-25 09:39:32.088626 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.024) 0:00:22.024 ****** 2025-11-25 09:39:32.088633 | controller | Tuesday 25 November 2025 09:38:59 +0000 (0:00:00.024) 0:00:22.022 ****** 2025-11-25 09:39:32.088645 | controller | changed: [localhost] 2025-11-25 09:39:32.325174 | controller | 2025-11-25 09:39:32.325231 | controller | TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] *** 2025-11-25 09:39:32.325240 | controller | Tuesday 25 November 2025 09:39:32 +0000 (0:00:32.116) 0:00:54.140 ****** 2025-11-25 09:39:32.325248 | controller | Tuesday 25 November 2025 09:39:32 +0000 (0:00:32.116) 0:00:54.139 ****** 2025-11-25 09:39:32.325262 | controller | ok: [localhost] 2025-11-25 09:39:32.543993 | controller | 2025-11-25 09:39:32.544044 | controller | TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] *** 2025-11-25 09:39:32.544054 | controller | Tuesday 25 November 2025 09:39:32 +0000 (0:00:00.238) 0:00:54.379 ****** 2025-11-25 09:39:32.544061 | controller | Tuesday 25 November 2025 09:39:32 +0000 (0:00:00.238) 0:00:54.377 ****** 2025-11-25 09:39:32.544073 | controller | changed: [localhost] 2025-11-25 09:39:38.081068 | controller | 2025-11-25 09:39:38.081134 | controller | 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 09:39:38.081149 | controller | Tuesday 25 November 2025 09:39:32 +0000 (0:00:00.218) 0:00:54.597 ****** 2025-11-25 09:39:38.081158 | controller | Tuesday 25 November 2025 09:39:32 +0000 (0:00:00.218) 0:00:54.596 ****** 2025-11-25 09:39:38.081175 | controller | changed: [localhost] 2025-11-25 09:39:38.117126 | controller | 2025-11-25 09:39:38.117178 | controller | 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 09:39:38.117188 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:05.536) 0:01:00.134 ****** 2025-11-25 09:39:38.117195 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:05.536) 0:01:00.132 ****** 2025-11-25 09:39:38.117224 | controller | skipping: [localhost] 2025-11-25 09:39:38.468200 | controller | 2025-11-25 09:39:38.468286 | controller | TASK [ci_setup : Create completion file] *************************************** 2025-11-25 09:39:38.468295 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.036) 0:01:00.171 ****** 2025-11-25 09:39:38.468302 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.036) 0:01:00.169 ****** 2025-11-25 09:39:38.468321 | controller | changed: [localhost] 2025-11-25 09:39:38.831643 | controller | 2025-11-25 09:39:38.831745 | controller | TASK [ci_setup : Source completion from within .bashrc create=True, mode=0644, path={{ ansible_user_dir }}/.bashrc, block=if [ -f ~/.oc_completion ]; then 2025-11-25 09:39:38.831755 | controller | source ~/.oc_completion 2025-11-25 09:39:38.831764 | controller | fi] *** 2025-11-25 09:39:38.831772 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.351) 0:01:00.522 ****** 2025-11-25 09:39:38.831779 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.351) 0:01:00.520 ****** 2025-11-25 09:39:38.831802 | controller | changed: [localhost] 2025-11-25 09:39:38.858693 | controller | 2025-11-25 09:39:38.858794 | controller | TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] **** 2025-11-25 09:39:38.858804 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.363) 0:01:00.885 ****** 2025-11-25 09:39:38.858812 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.363) 0:01:00.883 ****** 2025-11-25 09:39:38.858836 | controller | skipping: [localhost] 2025-11-25 09:39:38.886388 | controller | 2025-11-25 09:39:38.886442 | controller | TASK [ci_setup : Gather the repos to be enabled _repos={{ 2025-11-25 09:39:38.886453 | controller | cifmw_ci_setup_rhel_rhsm_default_repos + 2025-11-25 09:39:38.886462 | controller | (cifmw_ci_setup_rhel_rhsm_extra_repos | default([])) 2025-11-25 09:39:38.886470 | controller | }}] *** 2025-11-25 09:39:38.886478 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.027) 0:01:00.912 ****** 2025-11-25 09:39:38.886486 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.027) 0:01:00.911 ****** 2025-11-25 09:39:38.886503 | controller | skipping: [localhost] 2025-11-25 09:39:38.914578 | controller | 2025-11-25 09:39:38.914656 | controller | TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] *** 2025-11-25 09:39:38.914664 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.027) 0:01:00.940 ****** 2025-11-25 09:39:38.914672 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.027) 0:01:00.938 ****** 2025-11-25 09:39:38.914686 | controller | skipping: [localhost] 2025-11-25 09:39:38.943795 | controller | 2025-11-25 09:39:38.943853 | controller | TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] *** 2025-11-25 09:39:38.943868 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.028) 0:01:00.968 ****** 2025-11-25 09:39:38.943876 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.028) 0:01:00.966 ****** 2025-11-25 09:39:38.943893 | controller | skipping: [localhost] 2025-11-25 09:39:38.977384 | controller | 2025-11-25 09:39:38.977439 | controller | TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] *** 2025-11-25 09:39:38.977450 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.029) 0:01:00.997 ****** 2025-11-25 09:39:38.977458 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.029) 0:01:00.996 ****** 2025-11-25 09:39:38.977474 | controller | skipping: [localhost] 2025-11-25 09:39:39.018852 | controller | 2025-11-25 09:39:39.018942 | controller | 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 09:39:39.018951 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.033) 0:01:01.031 ****** 2025-11-25 09:39:39.018958 | controller | Tuesday 25 November 2025 09:39:38 +0000 (0:00:00.033) 0:01:01.029 ****** 2025-11-25 09:39:39.018982 | controller | skipping: [localhost] 2025-11-25 09:39:40.221095 | controller | 2025-11-25 09:39:40.221149 | controller | TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] *** 2025-11-25 09:39:40.221173 | controller | Tuesday 25 November 2025 09:39:39 +0000 (0:00:00.041) 0:01:01.072 ****** 2025-11-25 09:39:40.221182 | controller | Tuesday 25 November 2025 09:39:39 +0000 (0:00:00.041) 0:01:01.071 ****** 2025-11-25 09:39:40.221197 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/manifests/openstack/cr) 2025-11-25 09:39:40.365151 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/logs) 2025-11-25 09:39:40.365203 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/tmp) 2025-11-25 09:39:40.365221 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/volumes) 2025-11-25 09:39:40.365229 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-11-25 09:39:40.365235 | controller | 2025-11-25 09:39:40.365241 | controller | TASK [Prepare install_yamls make targets name=install_yamls, apply={'tags': ['bootstrap']}] *** 2025-11-25 09:39:40.365248 | controller | Tuesday 25 November 2025 09:39:40 +0000 (0:00:01.201) 0:01:02.274 ****** 2025-11-25 09:39:40.365255 | controller | Tuesday 25 November 2025 09:39:40 +0000 (0:00:01.201) 0:01:02.273 ****** 2025-11-25 09:39:40.365266 | controller | 2025-11-25 09:39:41.113569 | controller | TASK [install_yamls : Ensure directories exist path={{ item }}, state=directory, mode=0755] *** 2025-11-25 09:39:41.113646 | controller | Tuesday 25 November 2025 09:39:40 +0000 (0:00:00.144) 0:01:02.419 ****** 2025-11-25 09:39:41.113656 | controller | Tuesday 25 November 2025 09:39:40 +0000 (0:00:00.144) 0:01:02.417 ****** 2025-11-25 09:39:41.113673 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts) 2025-11-25 09:39:41.157664 | controller | changed: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks) 2025-11-25 09:39:41.157788 | controller | ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/parameters) 2025-11-25 09:39:41.157805 | controller | 2025-11-25 09:39:41.157819 | controller | TASK [Create variables with local repos based on Zuul items name=install_yamls, tasks_from=zuul_set_operators_repo.yml] *** 2025-11-25 09:39:41.157835 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.748) 0:01:03.167 ****** 2025-11-25 09:39:41.157849 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.748) 0:01:03.165 ****** 2025-11-25 09:39:41.157883 | controller | 2025-11-25 09:39:41.232008 | controller | 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 09:39:41.232068 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.044) 0:01:03.211 ****** 2025-11-25 09:39:41.232079 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.044) 0:01:03.210 ****** 2025-11-25 09:39:41.232097 | controller | ok: [localhost] => (item={'branch': 'main', 'change': '567', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/567', 'commit_id': 'aab5cfe1d4a691d84a96189c698c58d261af9e66', 'patchset': 'aab5cfe1d4a691d84a96189c698c58d261af9e66', '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 09:39:41.314435 | controller | 2025-11-25 09:39:41.314486 | controller | TASK [install_yamls : Print helpful data for debugging msg=_repo_operator_name: {{ _repo_operator_name }} 2025-11-25 09:39:41.314496 | controller | _repo_operator_info: {{ _repo_operator_info }} 2025-11-25 09:39:41.314504 | controller | cifmw_install_yamls_operators_repo: {{ cifmw_install_yamls_operators_repo }} 2025-11-25 09:39:41.314511 | controller | ] *** 2025-11-25 09:39:41.314519 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.074) 0:01:03.285 ****** 2025-11-25 09:39:41.314525 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.074) 0:01:03.284 ****** 2025-11-25 09:39:41.314543 | controller | ok: [localhost] => (item={'branch': 'main', 'change': '567', 'change_url': 'https://github.com/openstack-k8s-operators/keystone-operator/pull/567', 'commit_id': 'aab5cfe1d4a691d84a96189c698c58d261af9e66', 'patchset': 'aab5cfe1d4a691d84a96189c698c58d261af9e66', '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 09:39:41.367655 | controller | msg: | 2025-11-25 09:39:41.367743 | controller | _repo_operator_name: keystone 2025-11-25 09:39:41.367754 | controller | _repo_operator_info: [{'key': 'KEYSTONE_REPO', 'value': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator'}, {'key': 'KEYSTONE_BRANCH', 'value': ''}] 2025-11-25 09:39:41.367763 | controller | cifmw_install_yamls_operators_repo: {'KEYSTONE_REPO': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'KEYSTONE_BRANCH': ''} 2025-11-25 09:39:41.367772 | controller | 2025-11-25 09:39:41.367781 | controller | TASK [Customize install_yamls devsetup vars if needed name=install_yamls, tasks_from=customize_devsetup_vars.yml] *** 2025-11-25 09:39:41.367789 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.082) 0:01:03.368 ****** 2025-11-25 09:39:41.367798 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.082) 0:01:03.366 ****** 2025-11-25 09:39:41.367814 | controller | 2025-11-25 09:39:41.402145 | controller | 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 09:39:41.402196 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.053) 0:01:03.421 ****** 2025-11-25 09:39:41.402204 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.053) 0:01:03.419 ****** 2025-11-25 09:39:41.402219 | controller | skipping: [localhost] 2025-11-25 09:39:41.440525 | controller | 2025-11-25 09:39:41.440576 | controller | 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 09:39:41.440586 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.034) 0:01:03.456 ****** 2025-11-25 09:39:41.440612 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.034) 0:01:03.454 ****** 2025-11-25 09:39:41.440627 | controller | skipping: [localhost] 2025-11-25 09:39:41.477808 | controller | 2025-11-25 09:39:41.477855 | controller | 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 09:39:41.477864 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.038) 0:01:03.494 ****** 2025-11-25 09:39:41.477871 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.038) 0:01:03.492 ****** 2025-11-25 09:39:41.477883 | controller | skipping: [localhost] 2025-11-25 09:39:41.518094 | controller | 2025-11-25 09:39:41.518146 | controller | 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 09:39:41.518155 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.036) 0:01:03.531 ****** 2025-11-25 09:39:41.518163 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.036) 0:01:03.529 ****** 2025-11-25 09:39:41.518178 | controller | skipping: [localhost] 2025-11-25 09:39:41.598399 | controller | 2025-11-25 09:39:41.598459 | controller | TASK [install_yamls : Compute the cifmw_install_yamls_vars final value _install_yamls_override_vars={{ 2025-11-25 09:39:41.598470 | controller | _install_yamls_override_vars | default({}) | 2025-11-25 09:39:41.598479 | controller | combine(item, recursive=True) 2025-11-25 09:39:41.598488 | controller | }}] *** 2025-11-25 09:39:41.598496 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.040) 0:01:03.572 ****** 2025-11-25 09:39:41.598527 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.040) 0:01:03.570 ****** 2025-11-25 09:39:41.598544 | controller | ok: [localhost] => (item={'BMO_SETUP': False}) 2025-11-25 09:39:41.654277 | controller | 2025-11-25 09:39:41.654325 | controller | TASK [install_yamls : Set environment override cifmw_install_yamls_environment fact cifmw_install_yamls_environment={{ 2025-11-25 09:39:41.654333 | controller | _install_yamls_override_vars.keys() | 2025-11-25 09:39:41.654340 | controller | map('upper') | 2025-11-25 09:39:41.654346 | controller | zip(_install_yamls_override_vars.values()) | 2025-11-25 09:39:41.654352 | controller | items2dict(key_name=0, value_name=1) | 2025-11-25 09:39:41.654358 | controller | combine({ 2025-11-25 09:39:41.654365 | controller | 'OUT': cifmw_install_yamls_manifests_dir, 2025-11-25 09:39:41.654373 | controller | 'OUTPUT_DIR': cifmw_install_yamls_edpm_dir, 2025-11-25 09:39:41.654380 | controller | 'CHECKOUT_FROM_OPENSTACK_REF': cifmw_install_yamls_checkout_openstack_ref, 2025-11-25 09:39:41.654389 | controller | 'OPENSTACK_K8S_BRANCH': (zuul is defined and not zuul.branch |regex_search('master|antelope|rhos')) | ternary(zuul.branch, 'main') 2025-11-25 09:39:41.654398 | controller | }) | 2025-11-25 09:39:41.654406 | controller | combine(install_yamls_operators_repos) 2025-11-25 09:39:41.654414 | controller | }}, cacheable=True] *** 2025-11-25 09:39:41.654422 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.080) 0:01:03.652 ****** 2025-11-25 09:39:41.654429 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.080) 0:01:03.650 ****** 2025-11-25 09:39:41.654443 | controller | ok: [localhost] 2025-11-25 09:39:42.292295 | controller | 2025-11-25 09:39:42.292353 | controller | TASK [install_yamls : Get environment structure base_path={{ cifmw_install_yamls_repo }}] *** 2025-11-25 09:39:42.292363 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.056) 0:01:03.708 ****** 2025-11-25 09:39:42.292371 | controller | Tuesday 25 November 2025 09:39:41 +0000 (0:00:00.056) 0:01:03.706 ****** 2025-11-25 09:39:42.292387 | controller | ok: [localhost] 2025-11-25 09:39:42.545815 | controller | 2025-11-25 09:39:42.545878 | controller | TASK [install_yamls : Ensure Output directory exists path={{ cifmw_install_yamls_out_dir }}, state=directory, mode=0755] *** 2025-11-25 09:39:42.545888 | controller | Tuesday 25 November 2025 09:39:42 +0000 (0:00:00.637) 0:01:04.346 ****** 2025-11-25 09:39:42.545897 | controller | Tuesday 25 November 2025 09:39:42 +0000 (0:00:00.637) 0:01:04.344 ****** 2025-11-25 09:39:42.545911 | controller | ok: [localhost] 2025-11-25 09:39:42.616966 | controller | 2025-11-25 09:39:42.617027 | controller | 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 09:39:42.617037 | controller | Tuesday 25 November 2025 09:39:42 +0000 (0:00:00.253) 0:01:04.599 ****** 2025-11-25 09:39:42.617046 | controller | Tuesday 25 November 2025 09:39:42 +0000 (0:00:00.253) 0:01:04.598 ****** 2025-11-25 09:39:42.617062 | controller | ok: [localhost] 2025-11-25 09:39:43.062857 | controller | 2025-11-25 09:39:43.062901 | controller | 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() %} 2025-11-25 09:39:43.062911 | controller | export {{ k }}={{ v }} 2025-11-25 09:39:43.062918 | controller | {% endfor %}, mode=0644] *** 2025-11-25 09:39:43.062924 | controller | Tuesday 25 November 2025 09:39:42 +0000 (0:00:00.071) 0:01:04.670 ****** 2025-11-25 09:39:43.062931 | controller | Tuesday 25 November 2025 09:39:42 +0000 (0:00:00.071) 0:01:04.669 ****** 2025-11-25 09:39:43.062944 | controller | changed: [localhost] 2025-11-25 09:39:43.100332 | controller | 2025-11-25 09:39:43.100377 | controller | 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 09:39:43.100387 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.446) 0:01:05.117 ****** 2025-11-25 09:39:43.100405 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.446) 0:01:05.115 ****** 2025-11-25 09:39:43.100417 | controller | ok: [localhost] 2025-11-25 09:39:43.131192 | controller | 2025-11-25 09:39:43.131240 | controller | TASK [install_yamls : Show the env structure var=cifmw_install_yamls_environment] *** 2025-11-25 09:39:43.131249 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.037) 0:01:05.154 ****** 2025-11-25 09:39:43.131255 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.037) 0:01:05.152 ****** 2025-11-25 09:39:43.131268 | controller | ok: [localhost] => 2025-11-25 09:39:43.163419 | controller | cifmw_install_yamls_environment: 2025-11-25 09:39:43.163496 | controller | BMO_SETUP: false 2025-11-25 09:39:43.163504 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-11-25 09:39:43.163510 | controller | KEYSTONE_BRANCH: '' 2025-11-25 09:39:43.163517 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 09:39:43.163524 | controller | OPENSTACK_K8S_BRANCH: main 2025-11-25 09:39:43.163530 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 09:39:43.163536 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-25 09:39:43.163542 | controller | 2025-11-25 09:39:43.163549 | controller | TASK [install_yamls : Show the env structure defaults var=cifmw_install_yamls_defaults] *** 2025-11-25 09:39:43.163554 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.030) 0:01:05.185 ****** 2025-11-25 09:39:43.163561 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.030) 0:01:05.183 ****** 2025-11-25 09:39:43.163576 | controller | ok: [localhost] => 2025-11-25 09:39:43.163618 | controller | cifmw_install_yamls_defaults: 2025-11-25 09:39:43.163625 | controller | ADOPTED_EXTERNAL_NETWORK: 172.21.1.0/24 2025-11-25 09:39:43.163631 | controller | ADOPTED_INTERNALAPI_NETWORK: 172.17.1.0/24 2025-11-25 09:39:43.163638 | controller | ADOPTED_STORAGEMGMT_NETWORK: 172.20.1.0/24 2025-11-25 09:39:43.163643 | controller | ADOPTED_STORAGE_NETWORK: 172.18.1.0/24 2025-11-25 09:39:43.163649 | controller | ADOPTED_TENANT_NETWORK: 172.9.1.0/24 2025-11-25 09:39:43.163655 | controller | ANSIBLEEE: config/samples/_v1beta1_ansibleee.yaml 2025-11-25 09:39:43.163661 | controller | ANSIBLEEE_BRANCH: main 2025-11-25 09:39:43.163670 | controller | ANSIBLEEE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/config/samples/_v1beta1_ansibleee.yaml 2025-11-25 09:39:43.163676 | controller | ANSIBLEEE_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-operator-index:latest 2025-11-25 09:39:43.163683 | controller | ANSIBLEEE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/kuttl-test.yaml 2025-11-25 09:39:43.163689 | controller | ANSIBLEEE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-ansibleee-operator/test/kuttl/tests 2025-11-25 09:39:43.163695 | controller | ANSIBLEEE_KUTTL_NAMESPACE: ansibleee-kuttl-tests 2025-11-25 09:39:43.163701 | controller | ANSIBLEEE_REPO: https://github.com/openstack-k8s-operators/openstack-ansibleee-operator 2025-11-25 09:39:43.163707 | controller | ANSIBLEE_COMMIT_HASH: '' 2025-11-25 09:39:43.163713 | controller | BARBICAN: config/samples/barbican_v1beta1_barbican.yaml 2025-11-25 09:39:43.163719 | controller | BARBICAN_BRANCH: main 2025-11-25 09:39:43.163725 | controller | BARBICAN_COMMIT_HASH: '' 2025-11-25 09:39:43.163730 | controller | BARBICAN_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/config/samples/barbican_v1beta1_barbican.yaml 2025-11-25 09:39:43.163737 | controller | BARBICAN_DEPL_IMG: unused 2025-11-25 09:39:43.163742 | controller | BARBICAN_IMG: quay.io/openstack-k8s-operators/barbican-operator-index:latest 2025-11-25 09:39:43.163748 | controller | BARBICAN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/kuttl-test.yaml 2025-11-25 09:39:43.163754 | controller | BARBICAN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator/test/kuttl/tests 2025-11-25 09:39:43.163827 | controller | BARBICAN_KUTTL_NAMESPACE: barbican-kuttl-tests 2025-11-25 09:39:43.163837 | controller | BARBICAN_REPO: https://github.com/openstack-k8s-operators/barbican-operator.git 2025-11-25 09:39:43.163859 | controller | BARBICAN_SERVICE_ENABLED: 'true' 2025-11-25 09:39:43.163867 | controller | BARBICAN_SIMPLE_CRYPTO_ENCRYPTION_KEY: sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= 2025-11-25 09:39:43.163875 | controller | BAREMETAL_BRANCH: main 2025-11-25 09:39:43.163882 | controller | BAREMETAL_COMMIT_HASH: '' 2025-11-25 09:39:43.163890 | controller | BAREMETAL_IMG: quay.io/openstack-k8s-operators/openstack-baremetal-operator-index:latest 2025-11-25 09:39:43.163897 | controller | BAREMETAL_OS_CONTAINER_IMG: '' 2025-11-25 09:39:43.163905 | controller | BAREMETAL_OS_IMG: '' 2025-11-25 09:39:43.163912 | controller | BAREMETAL_REPO: https://github.com/openstack-k8s-operators/openstack-baremetal-operator.git 2025-11-25 09:39:43.163920 | controller | BAREMETAL_TIMEOUT: 20m 2025-11-25 09:39:43.163927 | controller | BASH_IMG: quay.io/openstack-k8s-operators/bash:latest 2025-11-25 09:39:43.163935 | controller | BGP_ASN: '64999' 2025-11-25 09:39:43.163942 | controller | BGP_LEAF_1: 100.65.4.1 2025-11-25 09:39:43.163949 | controller | BGP_LEAF_2: 100.64.4.1 2025-11-25 09:39:43.163957 | controller | BGP_OVN_ROUTING: 'false' 2025-11-25 09:39:43.163964 | controller | BGP_PEER_ASN: '64999' 2025-11-25 09:39:43.163972 | controller | BGP_SOURCE_IP: 172.30.4.2 2025-11-25 09:39:43.163980 | controller | BGP_SOURCE_IP6: f00d:f00d:f00d:f00d:f00d:f00d:f00d:42 2025-11-25 09:39:43.163988 | controller | BMAAS_BRIDGE_IPV4_PREFIX: 172.20.1.2/24 2025-11-25 09:39:43.163996 | controller | BMAAS_BRIDGE_IPV6_PREFIX: fd00:bbbb::2/64 2025-11-25 09:39:43.164004 | controller | BMAAS_INSTANCE_DISK_SIZE: '20' 2025-11-25 09:39:43.164011 | controller | BMAAS_INSTANCE_MEMORY: '4096' 2025-11-25 09:39:43.164018 | controller | BMAAS_INSTANCE_NAME_PREFIX: crc-bmaas 2025-11-25 09:39:43.164026 | controller | BMAAS_INSTANCE_NET_MODEL: virtio 2025-11-25 09:39:43.164034 | controller | BMAAS_INSTANCE_OS_VARIANT: centos-stream9 2025-11-25 09:39:43.164041 | controller | BMAAS_INSTANCE_VCPUS: '2' 2025-11-25 09:39:43.164048 | controller | BMAAS_INSTANCE_VIRT_TYPE: kvm 2025-11-25 09:39:43.164056 | controller | BMAAS_IPV4: 'true' 2025-11-25 09:39:43.164064 | controller | BMAAS_IPV6: 'false' 2025-11-25 09:39:43.164071 | controller | BMAAS_LIBVIRT_USER: sushyemu 2025-11-25 09:39:43.164079 | controller | BMAAS_METALLB_ADDRESS_POOL: 172.20.1.64/26 2025-11-25 09:39:43.164086 | controller | BMAAS_METALLB_POOL_NAME: baremetal 2025-11-25 09:39:43.164094 | controller | BMAAS_NETWORK_IPV4_PREFIX: 172.20.1.1/24 2025-11-25 09:39:43.164102 | controller | BMAAS_NETWORK_IPV6_PREFIX: fd00:bbbb::1/64 2025-11-25 09:39:43.164109 | controller | BMAAS_NETWORK_NAME: crc-bmaas 2025-11-25 09:39:43.164115 | controller | BMAAS_NODE_COUNT: '1' 2025-11-25 09:39:43.164121 | controller | BMAAS_OCP_INSTANCE_NAME: crc 2025-11-25 09:39:43.164127 | controller | BMAAS_REDFISH_PASSWORD: password 2025-11-25 09:39:43.164133 | controller | BMAAS_REDFISH_USERNAME: admin 2025-11-25 09:39:43.164139 | controller | BMAAS_ROUTE_LIBVIRT_NETWORKS: crc-bmaas,crc,default 2025-11-25 09:39:43.164145 | controller | BMAAS_SUSHY_EMULATOR_DRIVER: libvirt 2025-11-25 09:39:43.164151 | controller | BMAAS_SUSHY_EMULATOR_IMAGE: quay.io/metal3-io/sushy-tools:latest 2025-11-25 09:39:43.164157 | controller | BMAAS_SUSHY_EMULATOR_NAMESPACE: sushy-emulator 2025-11-25 09:39:43.164165 | controller | BMAAS_SUSHY_EMULATOR_OS_CLIENT_CONFIG_FILE: /etc/openstack/clouds.yaml 2025-11-25 09:39:43.164173 | controller | BMAAS_SUSHY_EMULATOR_OS_CLOUD: openstack 2025-11-25 09:39:43.164180 | controller | BMH_NAMESPACE: openstack 2025-11-25 09:39:43.164187 | controller | BMO_BRANCH: release-0.9 2025-11-25 09:39:43.164195 | controller | BMO_CLEANUP: 'true' 2025-11-25 09:39:43.164202 | controller | BMO_COMMIT_HASH: '' 2025-11-25 09:39:43.164210 | controller | BMO_IPA_BRANCH: stable/2024.1 2025-11-25 09:39:43.164218 | controller | BMO_IRONIC_HOST: 192.168.122.10 2025-11-25 09:39:43.164225 | controller | BMO_PROVISIONING_INTERFACE: '' 2025-11-25 09:39:43.164232 | controller | BMO_REPO: https://github.com/metal3-io/baremetal-operator 2025-11-25 09:39:43.164240 | controller | BMO_SETUP: false 2025-11-25 09:39:43.164247 | controller | BMO_SETUP_ROUTE_REPLACE: 'true' 2025-11-25 09:39:43.164262 | controller | BM_CTLPLANE_INTERFACE: enp1s0 2025-11-25 09:39:43.164268 | controller | BM_INSTANCE_MEMORY: '8192' 2025-11-25 09:39:43.164274 | controller | BM_INSTANCE_NAME_PREFIX: edpm-compute-baremetal 2025-11-25 09:39:43.164286 | controller | BM_INSTANCE_NAME_SUFFIX: '0' 2025-11-25 09:39:43.164292 | controller | BM_NETWORK_NAME: default 2025-11-25 09:39:43.164297 | controller | BM_NODE_COUNT: '1' 2025-11-25 09:39:43.164304 | controller | BM_ROOT_PASSWORD: '' 2025-11-25 09:39:43.164311 | controller | BM_ROOT_PASSWORD_SECRET: '' 2025-11-25 09:39:43.164319 | controller | CEILOMETER_CENTRAL_DEPL_IMG: unused 2025-11-25 09:39:43.164326 | controller | CEILOMETER_NOTIFICATION_DEPL_IMG: unused 2025-11-25 09:39:43.164334 | controller | CEPH_BRANCH: release-1.15 2025-11-25 09:39:43.164341 | controller | CEPH_CLIENT: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/toolbox.yaml 2025-11-25 09:39:43.164349 | controller | CEPH_COMMON: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/common.yaml 2025-11-25 09:39:43.164356 | controller | CEPH_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/cluster-test.yaml 2025-11-25 09:39:43.164363 | controller | CEPH_CRDS: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/crds.yaml 2025-11-25 09:39:43.164371 | controller | CEPH_IMG: quay.io/ceph/demo:latest-squid 2025-11-25 09:39:43.164378 | controller | CEPH_OP: /home/zuul/ci-framework-data/artifacts/manifests/operator/rook/deploy/examples/operator-openshift.yaml 2025-11-25 09:39:43.164386 | controller | CEPH_REPO: https://github.com/rook/rook.git 2025-11-25 09:39:43.164393 | controller | CERTMANAGER_TIMEOUT: 300s 2025-11-25 09:39:43.164401 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-11-25 09:39:43.164408 | controller | CINDER: config/samples/cinder_v1beta1_cinder.yaml 2025-11-25 09:39:43.164416 | controller | CINDERAPI_DEPL_IMG: unused 2025-11-25 09:39:43.164424 | controller | CINDERBKP_DEPL_IMG: unused 2025-11-25 09:39:43.164431 | controller | CINDERSCH_DEPL_IMG: unused 2025-11-25 09:39:43.164439 | controller | CINDERVOL_DEPL_IMG: unused 2025-11-25 09:39:43.164447 | controller | CINDER_BRANCH: main 2025-11-25 09:39:43.164455 | controller | CINDER_COMMIT_HASH: '' 2025-11-25 09:39:43.164462 | controller | CINDER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/config/samples/cinder_v1beta1_cinder.yaml 2025-11-25 09:39:43.164470 | controller | CINDER_IMG: quay.io/openstack-k8s-operators/cinder-operator-index:latest 2025-11-25 09:39:43.164478 | controller | CINDER_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/kuttl-test.yaml 2025-11-25 09:39:43.164486 | controller | CINDER_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator/test/kuttl/tests 2025-11-25 09:39:43.164493 | controller | CINDER_KUTTL_NAMESPACE: cinder-kuttl-tests 2025-11-25 09:39:43.164500 | controller | CINDER_REPO: https://github.com/openstack-k8s-operators/cinder-operator.git 2025-11-25 09:39:43.164507 | controller | CLEANUP_DIR_CMD: rm -Rf 2025-11-25 09:39:43.164515 | controller | CRC_BGP_NIC_1_MAC: '52:54:00:11:11:11' 2025-11-25 09:39:43.164522 | controller | CRC_BGP_NIC_2_MAC: '52:54:00:11:11:12' 2025-11-25 09:39:43.164529 | controller | CRC_HTTPS_PROXY: '' 2025-11-25 09:39:43.164536 | controller | CRC_HTTP_PROXY: '' 2025-11-25 09:39:43.164543 | controller | CRC_STORAGE_NAMESPACE: crc-storage 2025-11-25 09:39:43.164550 | controller | CRC_STORAGE_RETRIES: '3' 2025-11-25 09:39:43.164558 | controller | CRC_URL: '''https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz''' 2025-11-25 09:39:43.164565 | controller | CRC_VERSION: latest 2025-11-25 09:39:43.164572 | controller | DATAPLANE_ANSIBLE_SECRET: dataplane-ansible-ssh-private-key-secret 2025-11-25 09:39:43.164580 | controller | DATAPLANE_ANSIBLE_USER: '' 2025-11-25 09:39:43.164606 | controller | DATAPLANE_COMPUTE_IP: 192.168.122.100 2025-11-25 09:39:43.164626 | controller | DATAPLANE_CONTAINER_PREFIX: openstack 2025-11-25 09:39:43.164633 | controller | DATAPLANE_CONTAINER_TAG: current-podified 2025-11-25 09:39:43.164640 | controller | DATAPLANE_CUSTOM_SERVICE_RUNNER_IMG: quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest 2025-11-25 09:39:43.164648 | controller | DATAPLANE_DEFAULT_GW: 192.168.122.1 2025-11-25 09:39:43.164655 | controller | DATAPLANE_EXTRA_NOVA_CONFIG_FILE: /dev/null 2025-11-25 09:39:43.164662 | controller | DATAPLANE_GROWVOLS_ARGS: /=8GB /tmp=1GB /home=1GB /var=100% 2025-11-25 09:39:43.164676 | controller | DATAPLANE_KUSTOMIZE_SCENARIO: preprovisioned 2025-11-25 09:39:43.164684 | controller | DATAPLANE_NETWORKER_IP: 192.168.122.200 2025-11-25 09:39:43.164692 | controller | DATAPLANE_NETWORK_INTERFACE_NAME: eth0 2025-11-25 09:39:43.164699 | controller | DATAPLANE_NOVA_NFS_PATH: '' 2025-11-25 09:39:43.164707 | controller | DATAPLANE_NTP_SERVER: pool.ntp.org 2025-11-25 09:39:43.164714 | controller | DATAPLANE_PLAYBOOK: osp.edpm.download_cache 2025-11-25 09:39:43.164722 | controller | DATAPLANE_REGISTRY_URL: quay.io/podified-antelope-centos9 2025-11-25 09:39:43.164730 | controller | DATAPLANE_RUNNER_IMG: '' 2025-11-25 09:39:43.164737 | controller | DATAPLANE_SERVER_ROLE: compute 2025-11-25 09:39:43.164745 | controller | DATAPLANE_SSHD_ALLOWED_RANGES: '[''192.168.122.0/24'']' 2025-11-25 09:39:43.164752 | controller | DATAPLANE_TIMEOUT: 30m 2025-11-25 09:39:43.164760 | controller | DATAPLANE_TLS_ENABLED: 'true' 2025-11-25 09:39:43.164767 | controller | DATAPLANE_TOTAL_NETWORKER_NODES: '1' 2025-11-25 09:39:43.164775 | controller | DATAPLANE_TOTAL_NODES: '1' 2025-11-25 09:39:43.164782 | controller | DBSERVICE: galera 2025-11-25 09:39:43.164790 | controller | DESIGNATE: config/samples/designate_v1beta1_designate.yaml 2025-11-25 09:39:43.164798 | controller | DESIGNATE_BRANCH: main 2025-11-25 09:39:43.164806 | controller | DESIGNATE_COMMIT_HASH: '' 2025-11-25 09:39:43.164814 | controller | DESIGNATE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/config/samples/designate_v1beta1_designate.yaml 2025-11-25 09:39:43.164824 | controller | DESIGNATE_IMG: quay.io/openstack-k8s-operators/designate-operator-index:latest 2025-11-25 09:39:43.164831 | controller | DESIGNATE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/kuttl-test.yaml 2025-11-25 09:39:43.164839 | controller | DESIGNATE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator/test/kuttl/tests 2025-11-25 09:39:43.164853 | controller | DESIGNATE_KUTTL_NAMESPACE: designate-kuttl-tests 2025-11-25 09:39:43.164861 | controller | DESIGNATE_REPO: https://github.com/openstack-k8s-operators/designate-operator.git 2025-11-25 09:39:43.164868 | controller | DNSDATA: config/samples/network_v1beta1_dnsdata.yaml 2025-11-25 09:39:43.164876 | controller | DNSDATA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsdata.yaml 2025-11-25 09:39:43.164883 | controller | DNSMASQ: config/samples/network_v1beta1_dnsmasq.yaml 2025-11-25 09:39:43.164893 | controller | DNSMASQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_dnsmasq.yaml 2025-11-25 09:39:43.164901 | controller | DNS_DEPL_IMG: unused 2025-11-25 09:39:43.164908 | controller | DNS_DOMAIN: localdomain 2025-11-25 09:39:43.164916 | controller | DOWNLOAD_TOOLS_SELECTION: all 2025-11-25 09:39:43.164923 | controller | EDPM_ATTACH_EXTNET: 'true' 2025-11-25 09:39:43.164930 | controller | EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES: '''[]''' 2025-11-25 09:39:43.164938 | controller | EDPM_COMPUTE_ADDITIONAL_NETWORKS: '''[]''' 2025-11-25 09:39:43.164945 | controller | EDPM_COMPUTE_CELLS: '1' 2025-11-25 09:39:43.164956 | controller | EDPM_COMPUTE_CEPH_ENABLED: 'true' 2025-11-25 09:39:43.164964 | controller | EDPM_COMPUTE_CEPH_NOVA: 'true' 2025-11-25 09:39:43.164971 | controller | EDPM_COMPUTE_DHCP_AGENT_ENABLED: 'true' 2025-11-25 09:39:43.164978 | controller | EDPM_COMPUTE_SRIOV_ENABLED: 'true' 2025-11-25 09:39:43.164985 | controller | EDPM_COMPUTE_SUFFIX: '0' 2025-11-25 09:39:43.164993 | controller | EDPM_CONFIGURE_DEFAULT_ROUTE: 'true' 2025-11-25 09:39:43.165000 | controller | EDPM_CONFIGURE_HUGEPAGES: 'false' 2025-11-25 09:39:43.165007 | controller | EDPM_CONFIGURE_NETWORKING: 'true' 2025-11-25 09:39:43.165014 | controller | EDPM_FIRSTBOOT_EXTRA: /tmp/edpm-firstboot-extra 2025-11-25 09:39:43.165022 | controller | EDPM_NETWORKER_SUFFIX: '0' 2025-11-25 09:39:43.165029 | controller | EDPM_TOTAL_NETWORKERS: '1' 2025-11-25 09:39:43.165036 | controller | EDPM_TOTAL_NODES: '1' 2025-11-25 09:39:43.165043 | controller | GALERA_REPLICAS: '' 2025-11-25 09:39:43.165050 | controller | GENERATE_SSH_KEYS: 'true' 2025-11-25 09:39:43.165058 | controller | GIT_CLONE_OPTS: '' 2025-11-25 09:39:43.165065 | controller | GLANCE: config/samples/glance_v1beta1_glance.yaml 2025-11-25 09:39:43.165078 | controller | GLANCEAPI_DEPL_IMG: unused 2025-11-25 09:39:43.165086 | controller | GLANCE_BRANCH: main 2025-11-25 09:39:43.165093 | controller | GLANCE_COMMIT_HASH: '' 2025-11-25 09:39:43.165101 | controller | GLANCE_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/config/samples/glance_v1beta1_glance.yaml 2025-11-25 09:39:43.165108 | controller | GLANCE_IMG: quay.io/openstack-k8s-operators/glance-operator-index:latest 2025-11-25 09:39:43.165115 | controller | GLANCE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/kuttl-test.yaml 2025-11-25 09:39:43.165122 | controller | GLANCE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator/test/kuttl/tests 2025-11-25 09:39:43.165129 | controller | GLANCE_KUTTL_NAMESPACE: glance-kuttl-tests 2025-11-25 09:39:43.165137 | controller | GLANCE_REPO: https://github.com/openstack-k8s-operators/glance-operator.git 2025-11-25 09:39:43.165144 | controller | HEAT: config/samples/heat_v1beta1_heat.yaml 2025-11-25 09:39:43.165152 | controller | HEATAPI_DEPL_IMG: unused 2025-11-25 09:39:43.165165 | controller | HEATCFNAPI_DEPL_IMG: unused 2025-11-25 09:39:43.165174 | controller | HEATENGINE_DEPL_IMG: unused 2025-11-25 09:39:43.165182 | controller | HEAT_AUTH_ENCRYPTION_KEY: 767c3ed056cbaa3b9dfedb8c6f825bf0 2025-11-25 09:39:43.165193 | controller | HEAT_BRANCH: main 2025-11-25 09:39:43.165201 | controller | HEAT_COMMIT_HASH: '' 2025-11-25 09:39:43.165208 | controller | HEAT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/config/samples/heat_v1beta1_heat.yaml 2025-11-25 09:39:43.165215 | controller | HEAT_IMG: quay.io/openstack-k8s-operators/heat-operator-index:latest 2025-11-25 09:39:43.165222 | controller | HEAT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/kuttl-test.yaml 2025-11-25 09:39:43.165230 | controller | HEAT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator/test/kuttl/tests 2025-11-25 09:39:43.165237 | controller | HEAT_KUTTL_NAMESPACE: heat-kuttl-tests 2025-11-25 09:39:43.165245 | controller | HEAT_REPO: https://github.com/openstack-k8s-operators/heat-operator.git 2025-11-25 09:39:43.165252 | controller | HEAT_SERVICE_ENABLED: 'true' 2025-11-25 09:39:43.165260 | controller | HORIZON: config/samples/horizon_v1beta1_horizon.yaml 2025-11-25 09:39:43.165268 | controller | HORIZON_BRANCH: main 2025-11-25 09:39:43.165276 | controller | HORIZON_COMMIT_HASH: '' 2025-11-25 09:39:43.165283 | controller | HORIZON_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/config/samples/horizon_v1beta1_horizon.yaml 2025-11-25 09:39:43.165291 | controller | HORIZON_DEPL_IMG: unused 2025-11-25 09:39:43.165298 | controller | HORIZON_IMG: quay.io/openstack-k8s-operators/horizon-operator-index:latest 2025-11-25 09:39:43.165306 | controller | HORIZON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/kuttl-test.yaml 2025-11-25 09:39:43.165316 | controller | HORIZON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator/test/kuttl/tests 2025-11-25 09:39:43.165323 | controller | HORIZON_KUTTL_NAMESPACE: horizon-kuttl-tests 2025-11-25 09:39:43.165331 | controller | HORIZON_REPO: https://github.com/openstack-k8s-operators/horizon-operator.git 2025-11-25 09:39:43.165339 | controller | INFRA_BRANCH: main 2025-11-25 09:39:43.165347 | controller | INFRA_COMMIT_HASH: '' 2025-11-25 09:39:43.165354 | controller | INFRA_IMG: quay.io/openstack-k8s-operators/infra-operator-index:latest 2025-11-25 09:39:43.165362 | controller | INFRA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/kuttl-test.yaml 2025-11-25 09:39:43.165369 | controller | INFRA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/test/kuttl/tests 2025-11-25 09:39:43.165377 | controller | INFRA_KUTTL_NAMESPACE: infra-kuttl-tests 2025-11-25 09:39:43.165384 | controller | INFRA_REPO: https://github.com/openstack-k8s-operators/infra-operator.git 2025-11-25 09:39:43.165397 | controller | INSTALL_CERT_MANAGER: 'true' 2025-11-25 09:39:43.165405 | controller | INSTALL_NMSTATE: true || false 2025-11-25 09:39:43.165413 | controller | INSTALL_NNCP: true || false 2025-11-25 09:39:43.165431 | controller | INTERNALAPI_HOST_ROUTES: '' 2025-11-25 09:39:43.165439 | controller | IPV6_LAB_IPV4_NETWORK_IPADDRESS: 172.30.0.1/24 2025-11-25 09:39:43.165447 | controller | IPV6_LAB_IPV6_NETWORK_IPADDRESS: fd00:abcd:abcd:fc00::1/64 2025-11-25 09:39:43.165455 | controller | IPV6_LAB_LIBVIRT_STORAGE_POOL: default 2025-11-25 09:39:43.165463 | controller | IPV6_LAB_MANAGE_FIREWALLD: 'true' 2025-11-25 09:39:43.165470 | controller | IPV6_LAB_NAT64_HOST_IPV4: 172.30.0.2/24 2025-11-25 09:39:43.165477 | controller | IPV6_LAB_NAT64_HOST_IPV6: fd00:abcd:abcd:fc00::2/64 2025-11-25 09:39:43.165484 | controller | IPV6_LAB_NAT64_INSTANCE_NAME: nat64-router 2025-11-25 09:39:43.165492 | controller | IPV6_LAB_NAT64_IPV6_NETWORK: fd00:abcd:abcd:fc00::/64 2025-11-25 09:39:43.165499 | controller | IPV6_LAB_NAT64_TAYGA_DYNAMIC_POOL: 192.168.255.0/24 2025-11-25 09:39:43.165506 | controller | IPV6_LAB_NAT64_TAYGA_IPV4: 192.168.255.1 2025-11-25 09:39:43.165516 | controller | IPV6_LAB_NAT64_TAYGA_IPV6: fd00:abcd:abcd:fc00::3 2025-11-25 09:39:43.165523 | controller | IPV6_LAB_NAT64_TAYGA_IPV6_PREFIX: fd00:abcd:abcd:fcff::/96 2025-11-25 09:39:43.165530 | controller | IPV6_LAB_NAT64_UPDATE_PACKAGES: 'false' 2025-11-25 09:39:43.165537 | controller | IPV6_LAB_NETWORK_NAME: nat64 2025-11-25 09:39:43.165545 | controller | IPV6_LAB_SNO_CLUSTER_NETWORK: fd00:abcd:0::/48 2025-11-25 09:39:43.165552 | controller | IPV6_LAB_SNO_HOST_IP: fd00:abcd:abcd:fc00::11 2025-11-25 09:39:43.165560 | controller | IPV6_LAB_SNO_HOST_PREFIX: '64' 2025-11-25 09:39:43.165567 | controller | IPV6_LAB_SNO_INSTANCE_NAME: sno 2025-11-25 09:39:43.165574 | controller | IPV6_LAB_SNO_MACHINE_NETWORK: fd00:abcd:abcd:fc00::/64 2025-11-25 09:39:43.165582 | controller | IPV6_LAB_SNO_OCP_MIRROR_URL: https://mirror.openshift.com/pub/openshift-v4/clients/ocp 2025-11-25 09:39:43.165619 | controller | IPV6_LAB_SNO_OCP_VERSION: latest-4.14 2025-11-25 09:39:43.165628 | controller | IPV6_LAB_SNO_SERVICE_NETWORK: fd00:abcd:abcd:fc03::/112 2025-11-25 09:39:43.165636 | controller | IPV6_LAB_SSH_PUB_KEY: /home/zuul/.ssh/id_rsa.pub 2025-11-25 09:39:43.165644 | controller | IPV6_LAB_WORK_DIR: /home/zuul/.ipv6lab 2025-11-25 09:39:43.165651 | controller | IRONIC: config/samples/ironic_v1beta1_ironic.yaml 2025-11-25 09:39:43.165660 | controller | IRONICAPI_DEPL_IMG: unused 2025-11-25 09:39:43.165668 | controller | IRONICCON_DEPL_IMG: unused 2025-11-25 09:39:43.165675 | controller | IRONICINS_DEPL_IMG: unused 2025-11-25 09:39:43.165683 | controller | IRONICNAG_DEPL_IMG: unused 2025-11-25 09:39:43.165691 | controller | IRONICPXE_DEPL_IMG: unused 2025-11-25 09:39:43.165698 | controller | IRONIC_BRANCH: main 2025-11-25 09:39:43.165706 | controller | IRONIC_COMMIT_HASH: '' 2025-11-25 09:39:43.165713 | controller | IRONIC_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/config/samples/ironic_v1beta1_ironic.yaml 2025-11-25 09:39:43.165720 | controller | IRONIC_IMAGE_TAG: release-24.1 2025-11-25 09:39:43.165728 | controller | IRONIC_IMG: quay.io/openstack-k8s-operators/ironic-operator-index:latest 2025-11-25 09:39:43.165735 | controller | IRONIC_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/kuttl-test.yaml 2025-11-25 09:39:43.165742 | controller | IRONIC_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator/test/kuttl/tests 2025-11-25 09:39:43.165749 | controller | IRONIC_KUTTL_NAMESPACE: ironic-kuttl-tests 2025-11-25 09:39:43.165757 | controller | IRONIC_REPO: https://github.com/openstack-k8s-operators/ironic-operator.git 2025-11-25 09:39:43.165764 | controller | KEYSTONEAPI: config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 09:39:43.165772 | controller | KEYSTONEAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 09:39:43.165779 | controller | KEYSTONEAPI_DEPL_IMG: unused 2025-11-25 09:39:43.165798 | controller | KEYSTONE_BRANCH: '' 2025-11-25 09:39:43.165807 | controller | KEYSTONE_COMMIT_HASH: '' 2025-11-25 09:39:43.165814 | controller | KEYSTONE_FEDERATION_CLIENT_SECRET: COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f 2025-11-25 09:39:43.165821 | controller | KEYSTONE_FEDERATION_CRYPTO_PASSPHRASE: openstack 2025-11-25 09:39:43.165828 | controller | KEYSTONE_IMG: quay.io/openstack-k8s-operators/keystone-operator-index:latest 2025-11-25 09:39:43.165840 | controller | KEYSTONE_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-11-25 09:39:43.165847 | controller | KEYSTONE_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 09:39:43.165855 | controller | KEYSTONE_KUTTL_NAMESPACE: keystone-kuttl-tests 2025-11-25 09:39:43.165862 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 09:39:43.165870 | controller | KUBEADMIN_PWD: '12345678' 2025-11-25 09:39:43.165877 | controller | LIBVIRT_SECRET: libvirt-secret 2025-11-25 09:39:43.165884 | controller | LOKI_DEPLOY_MODE: openshift-network 2025-11-25 09:39:43.165891 | controller | LOKI_DEPLOY_NAMESPACE: netobserv 2025-11-25 09:39:43.165899 | controller | LOKI_DEPLOY_SIZE: 1x.demo 2025-11-25 09:39:43.165906 | controller | LOKI_NAMESPACE: openshift-operators-redhat 2025-11-25 09:39:43.165913 | controller | LOKI_OPERATOR_GROUP: openshift-operators-redhat-loki 2025-11-25 09:39:43.165921 | controller | LOKI_SUBSCRIPTION: loki-operator 2025-11-25 09:39:43.165928 | controller | LVMS_CR: '1' 2025-11-25 09:39:43.165936 | controller | MANILA: config/samples/manila_v1beta1_manila.yaml 2025-11-25 09:39:43.165943 | controller | MANILAAPI_DEPL_IMG: unused 2025-11-25 09:39:43.165951 | controller | MANILASCH_DEPL_IMG: unused 2025-11-25 09:39:43.165958 | controller | MANILASHARE_DEPL_IMG: unused 2025-11-25 09:39:43.165965 | controller | MANILA_BRANCH: main 2025-11-25 09:39:43.165972 | controller | MANILA_COMMIT_HASH: '' 2025-11-25 09:39:43.165979 | controller | MANILA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/config/samples/manila_v1beta1_manila.yaml 2025-11-25 09:39:43.165986 | controller | MANILA_IMG: quay.io/openstack-k8s-operators/manila-operator-index:latest 2025-11-25 09:39:43.165994 | controller | MANILA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/kuttl-test.yaml 2025-11-25 09:39:43.166009 | controller | MANILA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator/test/kuttl/tests 2025-11-25 09:39:43.166017 | controller | MANILA_KUTTL_NAMESPACE: manila-kuttl-tests 2025-11-25 09:39:43.166024 | controller | MANILA_REPO: https://github.com/openstack-k8s-operators/manila-operator.git 2025-11-25 09:39:43.166031 | controller | MANILA_SERVICE_ENABLED: 'true' 2025-11-25 09:39:43.166039 | controller | MARIADB: config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 09:39:43.166046 | controller | MARIADB_BRANCH: main 2025-11-25 09:39:43.166054 | controller | MARIADB_CHAINSAW_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/config.yaml 2025-11-25 09:39:43.166062 | controller | MARIADB_CHAINSAW_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/chainsaw/tests 2025-11-25 09:39:43.166069 | controller | MARIADB_CHAINSAW_NAMESPACE: mariadb-chainsaw-tests 2025-11-25 09:39:43.166076 | controller | MARIADB_COMMIT_HASH: '' 2025-11-25 09:39:43.166084 | controller | MARIADB_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 09:39:43.166091 | controller | MARIADB_DEPL_IMG: unused 2025-11-25 09:39:43.166098 | controller | MARIADB_IMG: quay.io/openstack-k8s-operators/mariadb-operator-index:latest 2025-11-25 09:39:43.166106 | controller | MARIADB_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/kuttl-test.yaml 2025-11-25 09:39:43.166113 | controller | MARIADB_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/test/kuttl/tests 2025-11-25 09:39:43.166120 | controller | MARIADB_KUTTL_NAMESPACE: mariadb-kuttl-tests 2025-11-25 09:39:43.166128 | controller | MARIADB_REPO: https://github.com/openstack-k8s-operators/mariadb-operator.git 2025-11-25 09:39:43.166135 | controller | MEMCACHED: config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 09:39:43.166143 | controller | MEMCACHED_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 09:39:43.166151 | controller | MEMCACHED_DEPL_IMG: unused 2025-11-25 09:39:43.166158 | controller | METADATA_SHARED_SECRET: '1234567842' 2025-11-25 09:39:43.166175 | controller | METALLB_IPV6_POOL: fd00:aaaa::80-fd00:aaaa::90 2025-11-25 09:39:43.166183 | controller | METALLB_POOL: 192.168.122.80-192.168.122.90 2025-11-25 09:39:43.166189 | controller | MICROSHIFT: '0' 2025-11-25 09:39:43.166199 | controller | NAMESPACE: openstack 2025-11-25 09:39:43.166206 | controller | NETCONFIG: config/samples/network_v1beta1_netconfig.yaml 2025-11-25 09:39:43.166214 | controller | NETCONFIG_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/network_v1beta1_netconfig.yaml 2025-11-25 09:39:43.166221 | controller | NETCONFIG_DEPL_IMG: unused 2025-11-25 09:39:43.166229 | controller | NETOBSERV_DEPLOY_NAMESPACE: netobserv 2025-11-25 09:39:43.166236 | controller | NETOBSERV_NAMESPACE: openshift-netobserv-operator 2025-11-25 09:39:43.166244 | controller | NETOBSERV_OPERATOR_GROUP: openshift-netobserv-operator-net 2025-11-25 09:39:43.166250 | controller | NETOBSERV_SUBSCRIPTION: netobserv-operator 2025-11-25 09:39:43.166257 | controller | NETWORK_BGP: 'false' 2025-11-25 09:39:43.166264 | controller | NETWORK_DESIGNATE_ADDRESS_PREFIX: 172.28.0 2025-11-25 09:39:43.166271 | controller | NETWORK_DESIGNATE_EXT_ADDRESS_PREFIX: 172.50.0 2025-11-25 09:39:43.166278 | controller | NETWORK_INTERNALAPI_ADDRESS_PREFIX: 172.17.0 2025-11-25 09:39:43.166285 | controller | NETWORK_ISOLATION: 'true' 2025-11-25 09:39:43.166293 | controller | NETWORK_ISOLATION_INSTANCE_NAME: crc 2025-11-25 09:39:43.166300 | controller | NETWORK_ISOLATION_IPV4: 'true' 2025-11-25 09:39:43.166307 | controller | NETWORK_ISOLATION_IPV4_ADDRESS: 172.16.1.1/24 2025-11-25 09:39:43.166315 | controller | NETWORK_ISOLATION_IPV4_NAT: 'true' 2025-11-25 09:39:43.166322 | controller | NETWORK_ISOLATION_IPV6: 'false' 2025-11-25 09:39:43.166329 | controller | NETWORK_ISOLATION_IPV6_ADDRESS: fd00:aaaa::1/64 2025-11-25 09:39:43.166335 | controller | NETWORK_ISOLATION_IP_ADDRESS: 192.168.122.10 2025-11-25 09:39:43.166341 | controller | NETWORK_ISOLATION_MAC: '52:54:00:11:11:10' 2025-11-25 09:39:43.166346 | controller | NETWORK_ISOLATION_NETWORK_NAME: net-iso 2025-11-25 09:39:43.166352 | controller | NETWORK_ISOLATION_NET_NAME: default 2025-11-25 09:39:43.166358 | controller | NETWORK_ISOLATION_USE_DEFAULT_NETWORK: 'true' 2025-11-25 09:39:43.166364 | controller | NETWORK_MTU: '1500' 2025-11-25 09:39:43.166370 | controller | NETWORK_STORAGEMGMT_ADDRESS_PREFIX: 172.20.0 2025-11-25 09:39:43.166375 | controller | NETWORK_STORAGE_ADDRESS_PREFIX: 172.18.0 2025-11-25 09:39:43.166381 | controller | NETWORK_STORAGE_MACVLAN: '' 2025-11-25 09:39:43.166387 | controller | NETWORK_TENANT_ADDRESS_PREFIX: 172.19.0 2025-11-25 09:39:43.166393 | controller | NETWORK_VLAN_START: '20' 2025-11-25 09:39:43.166398 | controller | NETWORK_VLAN_STEP: '1' 2025-11-25 09:39:43.166404 | controller | NEUTRONAPI: config/samples/neutron_v1beta1_neutronapi.yaml 2025-11-25 09:39:43.166410 | controller | NEUTRONAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/config/samples/neutron_v1beta1_neutronapi.yaml 2025-11-25 09:39:43.166416 | controller | NEUTRONAPI_DEPL_IMG: unused 2025-11-25 09:39:43.166422 | controller | NEUTRON_BRANCH: main 2025-11-25 09:39:43.166428 | controller | NEUTRON_COMMIT_HASH: '' 2025-11-25 09:39:43.166433 | controller | NEUTRON_IMG: quay.io/openstack-k8s-operators/neutron-operator-index:latest 2025-11-25 09:39:43.166439 | controller | NEUTRON_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/kuttl-test.yaml 2025-11-25 09:39:43.166445 | controller | NEUTRON_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator/test/kuttl/tests 2025-11-25 09:39:43.166451 | controller | NEUTRON_KUTTL_NAMESPACE: neutron-kuttl-tests 2025-11-25 09:39:43.166456 | controller | NEUTRON_REPO: https://github.com/openstack-k8s-operators/neutron-operator.git 2025-11-25 09:39:43.166465 | controller | NFS_HOME: /home/nfs 2025-11-25 09:39:43.166470 | controller | NMSTATE_NAMESPACE: openshift-nmstate 2025-11-25 09:39:43.166476 | controller | NMSTATE_OPERATOR_GROUP: openshift-nmstate-tn6k8 2025-11-25 09:39:43.166482 | controller | NMSTATE_SUBSCRIPTION: kubernetes-nmstate-operator 2025-11-25 09:39:43.166493 | controller | NNCP_ADDITIONAL_HOST_ROUTES: '' 2025-11-25 09:39:43.166499 | controller | NNCP_BGP_1_INTERFACE: enp7s0 2025-11-25 09:39:43.166505 | controller | NNCP_BGP_1_IP_ADDRESS: 100.65.4.2 2025-11-25 09:39:43.166514 | controller | NNCP_BGP_2_INTERFACE: enp8s0 2025-11-25 09:39:43.166520 | controller | NNCP_BGP_2_IP_ADDRESS: 100.64.4.2 2025-11-25 09:39:43.166526 | controller | NNCP_BRIDGE: ospbr 2025-11-25 09:39:43.166532 | controller | NNCP_CLEANUP_TIMEOUT: 120s 2025-11-25 09:39:43.166538 | controller | NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX: 'fd00:aaaa::' 2025-11-25 09:39:43.166543 | controller | NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX: '10' 2025-11-25 09:39:43.166549 | controller | NNCP_CTLPLANE_IP_ADDRESS_PREFIX: 192.168.122 2025-11-25 09:39:43.166555 | controller | NNCP_CTLPLANE_IP_ADDRESS_SUFFIX: '10' 2025-11-25 09:39:43.166561 | controller | NNCP_DNS_SERVER: 192.168.122.1 2025-11-25 09:39:43.166567 | controller | NNCP_DNS_SERVER_IPV6: fd00:aaaa::1 2025-11-25 09:39:43.166572 | controller | NNCP_GATEWAY: 192.168.122.1 2025-11-25 09:39:43.166578 | controller | NNCP_GATEWAY_IPV6: fd00:aaaa::1 2025-11-25 09:39:43.166584 | controller | NNCP_INTERFACE: enp6s0 2025-11-25 09:39:43.166628 | controller | NNCP_NODES: '' 2025-11-25 09:39:43.166640 | controller | NNCP_TIMEOUT: 240s 2025-11-25 09:39:43.166646 | controller | NOVA: config/samples/nova_v1beta1_nova_collapsed_cell.yaml 2025-11-25 09:39:43.166652 | controller | NOVA_BRANCH: main 2025-11-25 09:39:43.166657 | controller | NOVA_COMMIT_HASH: '' 2025-11-25 09:39:43.166663 | controller | NOVA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator/config/samples/nova_v1beta1_nova_collapsed_cell.yaml 2025-11-25 09:39:43.166669 | controller | NOVA_IMG: quay.io/openstack-k8s-operators/nova-operator-index:latest 2025-11-25 09:39:43.166675 | controller | NOVA_REPO: https://github.com/openstack-k8s-operators/nova-operator.git 2025-11-25 09:39:43.166681 | controller | NUMBER_OF_INSTANCES: '1' 2025-11-25 09:39:43.166687 | controller | OCP_NETWORK_NAME: crc 2025-11-25 09:39:43.166692 | controller | OCTAVIA: config/samples/octavia_v1beta1_octavia.yaml 2025-11-25 09:39:43.166698 | controller | OCTAVIA_BRANCH: main 2025-11-25 09:39:43.166704 | controller | OCTAVIA_COMMIT_HASH: '' 2025-11-25 09:39:43.166710 | controller | OCTAVIA_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/config/samples/octavia_v1beta1_octavia.yaml 2025-11-25 09:39:43.166716 | controller | OCTAVIA_IMG: quay.io/openstack-k8s-operators/octavia-operator-index:latest 2025-11-25 09:39:43.166722 | controller | OCTAVIA_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/kuttl-test.yaml 2025-11-25 09:39:43.166727 | controller | OCTAVIA_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator/test/kuttl/tests 2025-11-25 09:39:43.166733 | controller | OCTAVIA_KUTTL_NAMESPACE: octavia-kuttl-tests 2025-11-25 09:39:43.166739 | controller | OCTAVIA_REPO: https://github.com/openstack-k8s-operators/octavia-operator.git 2025-11-25 09:39:43.166745 | controller | OKD: 'false' 2025-11-25 09:39:43.166751 | controller | OPENSTACK_BRANCH: main 2025-11-25 09:39:43.166757 | controller | OPENSTACK_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-bundle:latest 2025-11-25 09:39:43.166762 | controller | OPENSTACK_COMMIT_HASH: '' 2025-11-25 09:39:43.166768 | controller | OPENSTACK_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml 2025-11-25 09:39:43.166775 | controller | OPENSTACK_CRDS_DIR: openstack_crds 2025-11-25 09:39:43.166781 | controller | OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml 2025-11-25 09:39:43.166787 | controller | OPENSTACK_IMG: quay.io/openstack-k8s-operators/openstack-operator-index:latest 2025-11-25 09:39:43.166793 | controller | OPENSTACK_K8S_BRANCH: main 2025-11-25 09:39:43.166798 | controller | OPENSTACK_K8S_TAG: latest 2025-11-25 09:39:43.166804 | controller | OPENSTACK_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/kuttl-test.yaml 2025-11-25 09:39:43.166810 | controller | OPENSTACK_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/openstack-operator/test/kuttl/tests 2025-11-25 09:39:43.166816 | controller | OPENSTACK_KUTTL_NAMESPACE: openstack-kuttl-tests 2025-11-25 09:39:43.166822 | controller | OPENSTACK_NEUTRON_CUSTOM_CONF: '' 2025-11-25 09:39:43.166831 | controller | OPENSTACK_REPO: https://github.com/openstack-k8s-operators/openstack-operator.git 2025-11-25 09:39:43.166837 | controller | OPENSTACK_STORAGE_BUNDLE_IMG: quay.io/openstack-k8s-operators/openstack-operator-storage-bundle:latest 2025-11-25 09:39:43.166843 | controller | OPERATOR_BASE_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator 2025-11-25 09:39:43.166849 | controller | OPERATOR_CHANNEL: '' 2025-11-25 09:39:43.166855 | controller | OPERATOR_NAMESPACE: openstack-operators 2025-11-25 09:39:43.166860 | controller | OPERATOR_SOURCE: '' 2025-11-25 09:39:43.166866 | controller | OPERATOR_SOURCE_NAMESPACE: '' 2025-11-25 09:39:43.166872 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 09:39:43.166878 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-25 09:39:43.166884 | controller | OVNCONTROLLER: config/samples/ovn_v1beta1_ovncontroller.yaml 2025-11-25 09:39:43.166891 | controller | OVNCONTROLLER_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovncontroller.yaml 2025-11-25 09:39:43.166897 | controller | OVNCONTROLLER_NMAP: 'true' 2025-11-25 09:39:43.166904 | controller | OVNDBS: config/samples/ovn_v1beta1_ovndbcluster.yaml 2025-11-25 09:39:43.166916 | controller | OVNDBS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovndbcluster.yaml 2025-11-25 09:39:43.166924 | controller | OVNNORTHD: config/samples/ovn_v1beta1_ovnnorthd.yaml 2025-11-25 09:39:43.166931 | controller | OVNNORTHD_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/config/samples/ovn_v1beta1_ovnnorthd.yaml 2025-11-25 09:39:43.166939 | controller | OVN_BRANCH: main 2025-11-25 09:39:43.166947 | controller | OVN_COMMIT_HASH: '' 2025-11-25 09:39:43.166961 | controller | OVN_IMG: quay.io/openstack-k8s-operators/ovn-operator-index:latest 2025-11-25 09:39:43.166969 | controller | OVN_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/kuttl-test.yaml 2025-11-25 09:39:43.166977 | controller | OVN_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator/test/kuttl/tests 2025-11-25 09:39:43.166985 | controller | OVN_KUTTL_NAMESPACE: ovn-kuttl-tests 2025-11-25 09:39:43.166992 | controller | OVN_REPO: https://github.com/openstack-k8s-operators/ovn-operator.git 2025-11-25 09:39:43.167005 | controller | PASSWORD: '12345678' 2025-11-25 09:39:43.167013 | controller | PLACEMENTAPI: config/samples/placement_v1beta1_placementapi.yaml 2025-11-25 09:39:43.167020 | controller | PLACEMENTAPI_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/config/samples/placement_v1beta1_placementapi.yaml 2025-11-25 09:39:43.167052 | controller | PLACEMENTAPI_DEPL_IMG: unused 2025-11-25 09:39:43.167060 | controller | PLACEMENT_BRANCH: main 2025-11-25 09:39:43.167067 | controller | PLACEMENT_COMMIT_HASH: '' 2025-11-25 09:39:43.167075 | controller | PLACEMENT_IMG: quay.io/openstack-k8s-operators/placement-operator-index:latest 2025-11-25 09:39:43.167082 | controller | PLACEMENT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/kuttl-test.yaml 2025-11-25 09:39:43.167090 | controller | PLACEMENT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator/test/kuttl/tests 2025-11-25 09:39:43.167098 | controller | PLACEMENT_KUTTL_NAMESPACE: placement-kuttl-tests 2025-11-25 09:39:43.167106 | controller | PLACEMENT_REPO: https://github.com/openstack-k8s-operators/placement-operator.git 2025-11-25 09:39:43.167114 | controller | PULL_SECRET: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/pull-secret.txt 2025-11-25 09:39:43.167121 | controller | RABBITMQ: docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 09:39:43.167129 | controller | RABBITMQ_BRANCH: patches 2025-11-25 09:39:43.167137 | controller | RABBITMQ_COMMIT_HASH: '' 2025-11-25 09:39:43.167144 | controller | RABBITMQ_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 09:39:43.167152 | controller | RABBITMQ_DEPL_IMG: unused 2025-11-25 09:39:43.167159 | controller | RABBITMQ_IMG: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-11-25 09:39:43.167172 | controller | RABBITMQ_REPO: https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-11-25 09:39:43.167179 | controller | REDHAT_OPERATORS: 'false' 2025-11-25 09:39:43.167185 | controller | REDIS: config/samples/redis_v1beta1_redis.yaml 2025-11-25 09:39:43.167193 | controller | REDIS_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis/config/samples/redis_v1beta1_redis.yaml 2025-11-25 09:39:43.167201 | controller | REDIS_DEPL_IMG: unused 2025-11-25 09:39:43.167209 | controller | RH_REGISTRY_PWD: '' 2025-11-25 09:39:43.167217 | controller | RH_REGISTRY_USER: '' 2025-11-25 09:39:43.167224 | controller | SECRET: osp-secret 2025-11-25 09:39:43.167231 | controller | SG_CORE_DEPL_IMG: unused 2025-11-25 09:39:43.167237 | controller | STANDALONE_COMPUTE_DRIVER: libvirt 2025-11-25 09:39:43.167242 | controller | STANDALONE_EXTERNAL_NET_PREFFIX: 172.21.0 2025-11-25 09:39:43.167248 | controller | STANDALONE_INTERNALAPI_NET_PREFIX: 172.17.0 2025-11-25 09:39:43.167254 | controller | STANDALONE_STORAGEMGMT_NET_PREFIX: 172.20.0 2025-11-25 09:39:43.167260 | controller | STANDALONE_STORAGE_NET_PREFIX: 172.18.0 2025-11-25 09:39:43.167266 | controller | STANDALONE_TENANT_NET_PREFIX: 172.19.0 2025-11-25 09:39:43.167272 | controller | STORAGEMGMT_HOST_ROUTES: '' 2025-11-25 09:39:43.167278 | controller | STORAGE_CLASS: local-storage 2025-11-25 09:39:43.167284 | controller | STORAGE_HOST_ROUTES: '' 2025-11-25 09:39:43.167291 | controller | SWIFT: config/samples/swift_v1beta1_swift.yaml 2025-11-25 09:39:43.167299 | controller | SWIFT_BRANCH: main 2025-11-25 09:39:43.167306 | controller | SWIFT_COMMIT_HASH: '' 2025-11-25 09:39:43.167314 | controller | SWIFT_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/config/samples/swift_v1beta1_swift.yaml 2025-11-25 09:39:43.167321 | controller | SWIFT_IMG: quay.io/openstack-k8s-operators/swift-operator-index:latest 2025-11-25 09:39:43.167334 | controller | SWIFT_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/kuttl-test.yaml 2025-11-25 09:39:43.167341 | controller | SWIFT_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator/test/kuttl/tests 2025-11-25 09:39:43.167349 | controller | SWIFT_KUTTL_NAMESPACE: swift-kuttl-tests 2025-11-25 09:39:43.167357 | controller | SWIFT_REPO: https://github.com/openstack-k8s-operators/swift-operator.git 2025-11-25 09:39:43.167364 | controller | TELEMETRY: config/samples/telemetry_v1beta1_telemetry.yaml 2025-11-25 09:39:43.167372 | controller | TELEMETRY_BRANCH: main 2025-11-25 09:39:43.167380 | controller | TELEMETRY_COMMIT_HASH: '' 2025-11-25 09:39:43.167387 | controller | TELEMETRY_CR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/config/samples/telemetry_v1beta1_telemetry.yaml 2025-11-25 09:39:43.167393 | controller | TELEMETRY_IMG: quay.io/openstack-k8s-operators/telemetry-operator-index:latest 2025-11-25 09:39:43.167398 | controller | TELEMETRY_KUTTL_BASEDIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-11-25 09:39:43.167404 | controller | TELEMETRY_KUTTL_CONF: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/kuttl-test.yaml 2025-11-25 09:39:43.167410 | controller | TELEMETRY_KUTTL_DIR: /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator/test/kuttl/suites 2025-11-25 09:39:43.167416 | controller | TELEMETRY_KUTTL_NAMESPACE: telemetry-kuttl-tests 2025-11-25 09:39:43.167422 | controller | TELEMETRY_KUTTL_RELPATH: test/kuttl/suites 2025-11-25 09:39:43.167428 | controller | TELEMETRY_REPO: https://github.com/openstack-k8s-operators/telemetry-operator.git 2025-11-25 09:39:43.167443 | controller | TENANT_HOST_ROUTES: '' 2025-11-25 09:39:43.177990 | controller | TIMEOUT: 300s 2025-11-25 09:39:43.178070 | controller | TLS_ENABLED: 'false' 2025-11-25 09:39:43.178078 | controller | tripleo_deploy: 'export REGISTRY_PWD:' 2025-11-25 09:39:43.178098 | controller | 2025-11-25 09:39:43.602217 | controller | TASK [install_yamls : Generate make targets install_yamls_path={{ cifmw_install_yamls_repo }}, output_directory={{ cifmw_install_yamls_tasks_out }}] *** 2025-11-25 09:39:43.602270 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.046) 0:01:05.231 ****** 2025-11-25 09:39:43.602287 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.046) 0:01:05.230 ****** 2025-11-25 09:39:43.602302 | controller | ok: [localhost] 2025-11-25 09:39:43.623619 | controller | 2025-11-25 09:39:43.623690 | controller | TASK [install_yamls : Debug generate_make module var=cifmw_generate_makes] ***** 2025-11-25 09:39:43.623701 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.424) 0:01:05.656 ****** 2025-11-25 09:39:43.623709 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.424) 0:01:05.654 ****** 2025-11-25 09:39:43.623726 | controller | ok: [localhost] => 2025-11-25 09:39:43.623734 | controller | cifmw_generate_makes: 2025-11-25 09:39:43.623743 | controller | changed: false 2025-11-25 09:39:43.623750 | controller | debug: 2025-11-25 09:39:43.623758 | controller | /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/Makefile: 2025-11-25 09:39:43.623767 | controller | - all 2025-11-25 09:39:43.623774 | controller | - help 2025-11-25 09:39:43.623782 | controller | - cleanup 2025-11-25 09:39:43.623790 | controller | - deploy_cleanup 2025-11-25 09:39:43.623798 | controller | - wait 2025-11-25 09:39:43.623806 | controller | - crc_storage 2025-11-25 09:39:43.623814 | controller | - crc_storage_cleanup 2025-11-25 09:39:43.623822 | controller | - crc_storage_release 2025-11-25 09:39:43.623830 | controller | - crc_storage_with_retries 2025-11-25 09:39:43.623838 | controller | - crc_storage_cleanup_with_retries 2025-11-25 09:39:43.623846 | controller | - operator_namespace 2025-11-25 09:39:43.623853 | controller | - namespace 2025-11-25 09:39:43.623861 | controller | - namespace_cleanup 2025-11-25 09:39:43.623868 | controller | - input 2025-11-25 09:39:43.623876 | controller | - input_cleanup 2025-11-25 09:39:43.623884 | controller | - crc_bmo_setup 2025-11-25 09:39:43.623892 | controller | - crc_bmo_cleanup 2025-11-25 09:39:43.623900 | controller | - openstack_prep 2025-11-25 09:39:43.623908 | controller | - openstack 2025-11-25 09:39:43.623915 | controller | - openstack_wait 2025-11-25 09:39:43.623923 | controller | - openstack_init 2025-11-25 09:39:43.623931 | controller | - openstack_cleanup 2025-11-25 09:39:43.623938 | controller | - openstack_repo 2025-11-25 09:39:43.623946 | controller | - openstack_deploy_prep 2025-11-25 09:39:43.623955 | controller | - openstack_deploy 2025-11-25 09:39:43.623963 | controller | - openstack_wait_deploy 2025-11-25 09:39:43.623971 | controller | - openstack_deploy_cleanup 2025-11-25 09:39:43.623980 | controller | - openstack_update_run 2025-11-25 09:39:43.623989 | controller | - update_services 2025-11-25 09:39:43.623997 | controller | - update_system 2025-11-25 09:39:43.624006 | controller | - openstack_patch_version 2025-11-25 09:39:43.624014 | controller | - edpm_deploy_generate_keys 2025-11-25 09:39:43.624022 | controller | - edpm_patch_ansible_runner_image 2025-11-25 09:39:43.624030 | controller | - edpm_deploy_prep 2025-11-25 09:39:43.624038 | controller | - edpm_deploy_cleanup 2025-11-25 09:39:43.624047 | controller | - edpm_deploy 2025-11-25 09:39:43.624055 | controller | - edpm_deploy_baremetal_prep 2025-11-25 09:39:43.624064 | controller | - edpm_deploy_baremetal 2025-11-25 09:39:43.624073 | controller | - edpm_wait_deploy_baremetal 2025-11-25 09:39:43.624081 | controller | - edpm_wait_deploy 2025-11-25 09:39:43.624090 | controller | - edpm_register_dns 2025-11-25 09:39:43.624098 | controller | - edpm_nova_discover_hosts 2025-11-25 09:39:43.624106 | controller | - openstack_crds 2025-11-25 09:39:43.624115 | controller | - openstack_crds_cleanup 2025-11-25 09:39:43.624123 | controller | - edpm_deploy_networker_prep 2025-11-25 09:39:43.624131 | controller | - edpm_deploy_networker_cleanup 2025-11-25 09:39:43.624140 | controller | - edpm_deploy_networker 2025-11-25 09:39:43.624148 | controller | - infra_prep 2025-11-25 09:39:43.624156 | controller | - infra 2025-11-25 09:39:43.624165 | controller | - infra_cleanup 2025-11-25 09:39:43.624173 | controller | - dns_deploy_prep 2025-11-25 09:39:43.624181 | controller | - dns_deploy 2025-11-25 09:39:43.624189 | controller | - dns_deploy_cleanup 2025-11-25 09:39:43.624198 | controller | - netconfig_deploy_prep 2025-11-25 09:39:43.624206 | controller | - netconfig_deploy 2025-11-25 09:39:43.624214 | controller | - netconfig_deploy_cleanup 2025-11-25 09:39:43.624222 | controller | - memcached_deploy_prep 2025-11-25 09:39:43.624230 | controller | - memcached_deploy 2025-11-25 09:39:43.624245 | controller | - memcached_deploy_cleanup 2025-11-25 09:39:43.624253 | controller | - keystone_prep 2025-11-25 09:39:43.624262 | controller | - keystone 2025-11-25 09:39:43.624271 | controller | - keystone_cleanup 2025-11-25 09:39:43.624281 | controller | - keystone_deploy_prep 2025-11-25 09:39:43.624290 | controller | - keystone_deploy 2025-11-25 09:39:43.624300 | controller | - keystone_deploy_cleanup 2025-11-25 09:39:43.624308 | controller | - barbican_prep 2025-11-25 09:39:43.624316 | controller | - barbican 2025-11-25 09:39:43.624324 | controller | - barbican_cleanup 2025-11-25 09:39:43.624332 | controller | - barbican_deploy_prep 2025-11-25 09:39:43.624341 | controller | - barbican_deploy 2025-11-25 09:39:43.624349 | controller | - barbican_deploy_validate 2025-11-25 09:39:43.624357 | controller | - barbican_deploy_cleanup 2025-11-25 09:39:43.624365 | controller | - mariadb 2025-11-25 09:39:43.624373 | controller | - mariadb_cleanup 2025-11-25 09:39:43.624380 | controller | - mariadb_deploy_prep 2025-11-25 09:39:43.624388 | controller | - mariadb_deploy 2025-11-25 09:39:43.624396 | controller | - mariadb_deploy_cleanup 2025-11-25 09:39:43.624404 | controller | - placement_prep 2025-11-25 09:39:43.624413 | controller | - placement 2025-11-25 09:39:43.624421 | controller | - placement_cleanup 2025-11-25 09:39:43.624430 | controller | - placement_deploy_prep 2025-11-25 09:39:43.624438 | controller | - placement_deploy 2025-11-25 09:39:43.624446 | controller | - placement_deploy_cleanup 2025-11-25 09:39:43.624455 | controller | - glance_prep 2025-11-25 09:39:43.624463 | controller | - glance 2025-11-25 09:39:43.624483 | controller | - glance_cleanup 2025-11-25 09:39:43.624491 | controller | - glance_deploy_prep 2025-11-25 09:39:43.624499 | controller | - glance_deploy 2025-11-25 09:39:43.624507 | controller | - glance_deploy_cleanup 2025-11-25 09:39:43.624515 | controller | - ovn_prep 2025-11-25 09:39:43.624524 | controller | - ovn 2025-11-25 09:39:43.624532 | controller | - ovn_cleanup 2025-11-25 09:39:43.624540 | controller | - ovn_deploy_prep 2025-11-25 09:39:43.624549 | controller | - ovn_deploy 2025-11-25 09:39:43.624557 | controller | - ovn_deploy_cleanup 2025-11-25 09:39:43.624565 | controller | - neutron_prep 2025-11-25 09:39:43.624573 | controller | - neutron 2025-11-25 09:39:43.624582 | controller | - neutron_cleanup 2025-11-25 09:39:43.624604 | controller | - neutron_deploy_prep 2025-11-25 09:39:43.624619 | controller | - neutron_deploy 2025-11-25 09:39:43.624627 | controller | - neutron_deploy_cleanup 2025-11-25 09:39:43.624636 | controller | - cinder_prep 2025-11-25 09:39:43.624644 | controller | - cinder 2025-11-25 09:39:43.624652 | controller | - cinder_cleanup 2025-11-25 09:39:43.624661 | controller | - cinder_deploy_prep 2025-11-25 09:39:43.624669 | controller | - cinder_deploy 2025-11-25 09:39:43.624677 | controller | - cinder_deploy_cleanup 2025-11-25 09:39:43.624685 | controller | - rabbitmq_prep 2025-11-25 09:39:43.624720 | controller | - rabbitmq 2025-11-25 09:39:43.624728 | controller | - rabbitmq_cleanup 2025-11-25 09:39:43.624736 | controller | - rabbitmq_deploy_prep 2025-11-25 09:39:43.624744 | controller | - rabbitmq_deploy 2025-11-25 09:39:43.624751 | controller | - rabbitmq_deploy_cleanup 2025-11-25 09:39:43.624759 | controller | - ironic_prep 2025-11-25 09:39:43.624767 | controller | - ironic 2025-11-25 09:39:43.624774 | controller | - ironic_cleanup 2025-11-25 09:39:43.624781 | controller | - ironic_deploy_prep 2025-11-25 09:39:43.624789 | controller | - ironic_deploy 2025-11-25 09:39:43.624797 | controller | - ironic_deploy_cleanup 2025-11-25 09:39:43.624805 | controller | - octavia_prep 2025-11-25 09:39:43.624813 | controller | - octavia 2025-11-25 09:39:43.624821 | controller | - octavia_cleanup 2025-11-25 09:39:43.624829 | controller | - octavia_deploy_prep 2025-11-25 09:39:43.624837 | controller | - octavia_deploy 2025-11-25 09:39:43.624845 | controller | - octavia_deploy_cleanup 2025-11-25 09:39:43.624853 | controller | - designate_prep 2025-11-25 09:39:43.624861 | controller | - designate 2025-11-25 09:39:43.624869 | controller | - designate_cleanup 2025-11-25 09:39:43.624876 | controller | - designate_deploy_prep 2025-11-25 09:39:43.624884 | controller | - designate_deploy 2025-11-25 09:39:43.624892 | controller | - designate_deploy_cleanup 2025-11-25 09:39:43.624899 | controller | - nova_prep 2025-11-25 09:39:43.624911 | controller | - nova 2025-11-25 09:39:43.624919 | controller | - nova_cleanup 2025-11-25 09:39:43.624927 | controller | - nova_deploy_prep 2025-11-25 09:39:43.624934 | controller | - nova_deploy 2025-11-25 09:39:43.624942 | controller | - nova_deploy_cleanup 2025-11-25 09:39:43.624949 | controller | - mariadb_kuttl_run 2025-11-25 09:39:43.624957 | controller | - mariadb_kuttl 2025-11-25 09:39:43.624964 | controller | - kuttl_db_prep 2025-11-25 09:39:43.624971 | controller | - kuttl_db_cleanup 2025-11-25 09:39:43.624978 | controller | - kuttl_common_prep 2025-11-25 09:39:43.624986 | controller | - kuttl_common_cleanup 2025-11-25 09:39:43.624993 | controller | - keystone_kuttl_run 2025-11-25 09:39:43.625000 | controller | - keystone_kuttl 2025-11-25 09:39:43.625007 | controller | - barbican_kuttl_run 2025-11-25 09:39:43.625014 | controller | - barbican_kuttl 2025-11-25 09:39:43.625033 | controller | - placement_kuttl_run 2025-11-25 09:39:43.625041 | controller | - placement_kuttl 2025-11-25 09:39:43.625049 | controller | - cinder_kuttl_run 2025-11-25 09:39:43.625057 | controller | - cinder_kuttl 2025-11-25 09:39:43.625064 | controller | - neutron_kuttl_run 2025-11-25 09:39:43.625071 | controller | - neutron_kuttl 2025-11-25 09:39:43.625078 | controller | - octavia_kuttl_run 2025-11-25 09:39:43.625086 | controller | - octavia_kuttl 2025-11-25 09:39:43.625094 | controller | - designate_kuttl 2025-11-25 09:39:43.625101 | controller | - designate_kuttl_run 2025-11-25 09:39:43.625109 | controller | - ovn_kuttl_run 2025-11-25 09:39:43.625117 | controller | - ovn_kuttl 2025-11-25 09:39:43.625124 | controller | - infra_kuttl_run 2025-11-25 09:39:43.625132 | controller | - infra_kuttl 2025-11-25 09:39:43.625139 | controller | - ironic_kuttl_run 2025-11-25 09:39:43.625147 | controller | - ironic_kuttl 2025-11-25 09:39:43.625154 | controller | - ironic_kuttl_crc 2025-11-25 09:39:43.625162 | controller | - heat_kuttl_run 2025-11-25 09:39:43.625169 | controller | - heat_kuttl 2025-11-25 09:39:43.625177 | controller | - heat_kuttl_crc 2025-11-25 09:39:43.625184 | controller | - ansibleee_kuttl_run 2025-11-25 09:39:43.625192 | controller | - ansibleee_kuttl_cleanup 2025-11-25 09:39:43.625200 | controller | - ansibleee_kuttl_prep 2025-11-25 09:39:43.625208 | controller | - ansibleee_kuttl 2025-11-25 09:39:43.625215 | controller | - glance_kuttl_run 2025-11-25 09:39:43.625223 | controller | - glance_kuttl 2025-11-25 09:39:43.625232 | controller | - manila_kuttl_run 2025-11-25 09:39:43.625239 | controller | - manila_kuttl 2025-11-25 09:39:43.625247 | controller | - swift_kuttl_run 2025-11-25 09:39:43.625255 | controller | - swift_kuttl 2025-11-25 09:39:43.625263 | controller | - horizon_kuttl_run 2025-11-25 09:39:43.625271 | controller | - horizon_kuttl 2025-11-25 09:39:43.625278 | controller | - openstack_kuttl_run 2025-11-25 09:39:43.625285 | controller | - openstack_kuttl 2025-11-25 09:39:43.625293 | controller | - mariadb_chainsaw_run 2025-11-25 09:39:43.625302 | controller | - mariadb_chainsaw 2025-11-25 09:39:43.625309 | controller | - horizon_prep 2025-11-25 09:39:43.625317 | controller | - horizon 2025-11-25 09:39:43.625325 | controller | - horizon_cleanup 2025-11-25 09:39:43.625333 | controller | - horizon_deploy_prep 2025-11-25 09:39:43.625341 | controller | - horizon_deploy 2025-11-25 09:39:43.625350 | controller | - horizon_deploy_cleanup 2025-11-25 09:39:43.625359 | controller | - heat_prep 2025-11-25 09:39:43.625367 | controller | - heat 2025-11-25 09:39:43.625376 | controller | - heat_cleanup 2025-11-25 09:39:43.625384 | controller | - heat_deploy_prep 2025-11-25 09:39:43.625392 | controller | - heat_deploy 2025-11-25 09:39:43.625401 | controller | - heat_deploy_cleanup 2025-11-25 09:39:43.625409 | controller | - ansibleee_prep 2025-11-25 09:39:43.625417 | controller | - ansibleee 2025-11-25 09:39:43.625424 | controller | - ansibleee_cleanup 2025-11-25 09:39:43.625432 | controller | - baremetal_prep 2025-11-25 09:39:43.625440 | controller | - baremetal 2025-11-25 09:39:43.625448 | controller | - baremetal_cleanup 2025-11-25 09:39:43.625456 | controller | - ceph_help 2025-11-25 09:39:43.625463 | controller | - ceph 2025-11-25 09:39:43.625471 | controller | - ceph_cleanup 2025-11-25 09:39:43.625479 | controller | - rook_prep 2025-11-25 09:39:43.625486 | controller | - rook 2025-11-25 09:39:43.625494 | controller | - rook_deploy_prep 2025-11-25 09:39:43.625501 | controller | - rook_deploy 2025-11-25 09:39:43.625522 | controller | - rook_crc_disk 2025-11-25 09:39:43.625530 | controller | - rook_cleanup 2025-11-25 09:39:43.625538 | controller | - lvms 2025-11-25 09:39:43.625546 | controller | - nmstate 2025-11-25 09:39:43.625554 | controller | - nncp 2025-11-25 09:39:43.625562 | controller | - nncp_cleanup 2025-11-25 09:39:43.625570 | controller | - netattach 2025-11-25 09:39:43.625578 | controller | - netattach_cleanup 2025-11-25 09:39:43.625585 | controller | - metallb 2025-11-25 09:39:43.625633 | controller | - metallb_config 2025-11-25 09:39:43.625643 | controller | - metallb_config_cleanup 2025-11-25 09:39:43.625651 | controller | - metallb_cleanup 2025-11-25 09:39:43.625659 | controller | - loki 2025-11-25 09:39:43.625667 | controller | - loki_cleanup 2025-11-25 09:39:43.625675 | controller | - loki_deploy 2025-11-25 09:39:43.625682 | controller | - loki_deploy_cleanup 2025-11-25 09:39:43.625690 | controller | - netobserv 2025-11-25 09:39:43.625698 | controller | - netobserv_cleanup 2025-11-25 09:39:43.625706 | controller | - netobserv_deploy 2025-11-25 09:39:43.625713 | controller | - netobserv_deploy_cleanup 2025-11-25 09:39:43.625721 | controller | - manila_prep 2025-11-25 09:39:43.625729 | controller | - manila 2025-11-25 09:39:43.625737 | controller | - manila_cleanup 2025-11-25 09:39:43.625750 | controller | - manila_deploy_prep 2025-11-25 09:39:43.625758 | controller | - manila_deploy 2025-11-25 09:39:43.625767 | controller | - manila_deploy_cleanup 2025-11-25 09:39:43.625774 | controller | - telemetry_prep 2025-11-25 09:39:43.625783 | controller | - telemetry 2025-11-25 09:39:43.625791 | controller | - telemetry_cleanup 2025-11-25 09:39:43.625799 | controller | - telemetry_deploy_prep 2025-11-25 09:39:43.625807 | controller | - telemetry_deploy 2025-11-25 09:39:43.625816 | controller | - telemetry_deploy_cleanup 2025-11-25 09:39:43.625827 | controller | - telemetry_kuttl_run 2025-11-25 09:39:43.625835 | controller | - telemetry_kuttl 2025-11-25 09:39:43.625843 | controller | - swift_prep 2025-11-25 09:39:43.625851 | controller | - swift 2025-11-25 09:39:43.625859 | controller | - swift_cleanup 2025-11-25 09:39:43.625867 | controller | - swift_deploy_prep 2025-11-25 09:39:43.625874 | controller | - swift_deploy 2025-11-25 09:39:43.625882 | controller | - swift_deploy_cleanup 2025-11-25 09:39:43.625890 | controller | - certmanager 2025-11-25 09:39:43.625897 | controller | - certmanager_cleanup 2025-11-25 09:39:43.625905 | controller | - validate_marketplace 2025-11-25 09:39:43.625912 | controller | - redis_deploy_prep 2025-11-25 09:39:43.625920 | controller | - redis_deploy 2025-11-25 09:39:43.625928 | controller | - redis_deploy_cleanup 2025-11-25 09:39:43.625936 | controller | - set_slower_etcd_profile 2025-11-25 09:39:43.625951 | controller | /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/devsetup/Makefile: 2025-11-25 09:39:43.625960 | controller | - help 2025-11-25 09:39:43.625968 | controller | - download_tools 2025-11-25 09:39:43.625977 | controller | - nfs 2025-11-25 09:39:43.625985 | controller | - nfs_cleanup 2025-11-25 09:39:43.625993 | controller | - crc 2025-11-25 09:39:43.626002 | controller | - crc_cleanup 2025-11-25 09:39:43.626009 | controller | - crc_scrub 2025-11-25 09:39:43.626017 | controller | - crc_attach_default_interface 2025-11-25 09:39:43.626025 | controller | - crc_attach_default_interface_cleanup 2025-11-25 09:39:43.626033 | controller | - ipv6_lab_network 2025-11-25 09:39:43.626041 | controller | - ipv6_lab_network_cleanup 2025-11-25 09:39:43.626048 | controller | - ipv6_lab_nat64_router 2025-11-25 09:39:43.626056 | controller | - ipv6_lab_nat64_router_cleanup 2025-11-25 09:39:43.626063 | controller | - ipv6_lab_sno 2025-11-25 09:39:43.626071 | controller | - ipv6_lab_sno_cleanup 2025-11-25 09:39:43.626079 | controller | - ipv6_lab 2025-11-25 09:39:43.626087 | controller | - ipv6_lab_cleanup 2025-11-25 09:39:43.626094 | controller | - attach_default_interface 2025-11-25 09:39:43.626102 | controller | - attach_default_interface_cleanup 2025-11-25 09:39:43.626110 | controller | - network_isolation_bridge 2025-11-25 09:39:43.626117 | controller | - network_isolation_bridge_cleanup 2025-11-25 09:39:43.626125 | controller | - edpm_baremetal_compute 2025-11-25 09:39:43.626132 | controller | - edpm_compute 2025-11-25 09:39:43.626140 | controller | - edpm_compute_bootc 2025-11-25 09:39:43.626147 | controller | - edpm_ansible_runner 2025-11-25 09:39:43.626159 | controller | - edpm_computes_bgp 2025-11-25 09:39:43.626167 | controller | - edpm_compute_repos 2025-11-25 09:39:43.626175 | controller | - edpm_compute_cleanup 2025-11-25 09:39:43.626183 | controller | - edpm_networker 2025-11-25 09:39:43.626191 | controller | - edpm_networker_cleanup 2025-11-25 09:39:43.626199 | controller | - edpm_deploy_instance 2025-11-25 09:39:43.626207 | controller | - tripleo_deploy 2025-11-25 09:39:43.626215 | controller | - standalone_deploy 2025-11-25 09:39:43.626223 | controller | - standalone_sync 2025-11-25 09:39:43.626231 | controller | - standalone 2025-11-25 09:39:43.626238 | controller | - standalone_cleanup 2025-11-25 09:39:43.626246 | controller | - standalone_snapshot 2025-11-25 09:39:43.626255 | controller | - standalone_revert 2025-11-25 09:39:43.626262 | controller | - cifmw_prepare 2025-11-25 09:39:43.626271 | controller | - cifmw_cleanup 2025-11-25 09:39:43.626279 | controller | - bmaas_network 2025-11-25 09:39:43.626286 | controller | - bmaas_network_cleanup 2025-11-25 09:39:43.626294 | controller | - bmaas_route_crc_and_crc_bmaas_networks 2025-11-25 09:39:43.626302 | controller | - bmaas_route_crc_and_crc_bmaas_networks_cleanup 2025-11-25 09:39:43.626317 | controller | - bmaas_crc_attach_network 2025-11-25 09:39:43.634096 | controller | - bmaas_crc_attach_network_cleanup 2025-11-25 09:39:43.634136 | controller | - bmaas_crc_baremetal_bridge 2025-11-25 09:39:43.634145 | controller | - bmaas_crc_baremetal_bridge_cleanup 2025-11-25 09:39:43.634152 | controller | - bmaas_baremetal_net_nad 2025-11-25 09:39:43.634160 | controller | - bmaas_baremetal_net_nad_cleanup 2025-11-25 09:39:43.634168 | controller | - bmaas_metallb 2025-11-25 09:39:43.634175 | controller | - bmaas_metallb_cleanup 2025-11-25 09:39:43.634182 | controller | - bmaas_virtual_bms 2025-11-25 09:39:43.634189 | controller | - bmaas_virtual_bms_cleanup 2025-11-25 09:39:43.634196 | controller | - bmaas_sushy_emulator 2025-11-25 09:39:43.634203 | controller | - bmaas_sushy_emulator_cleanup 2025-11-25 09:39:43.634210 | controller | - bmaas_sushy_emulator_wait 2025-11-25 09:39:43.634217 | controller | - bmaas_generate_nodes_yaml 2025-11-25 09:39:43.634224 | controller | - bmaas 2025-11-25 09:39:43.634231 | controller | - bmaas_cleanup 2025-11-25 09:39:43.634238 | controller | failed: false 2025-11-25 09:39:43.634245 | controller | success: true 2025-11-25 09:39:43.634259 | controller | 2025-11-25 09:39:44.069937 | controller | 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={{ 2025-11-25 09:39:44.069988 | controller | { 2025-11-25 09:39:44.069998 | controller | 'cifmw_install_yamls_environment': cifmw_install_yamls_environment, 2025-11-25 09:39:44.070006 | controller | 'cifmw_install_yamls_defaults': cifmw_install_yamls_defaults 2025-11-25 09:39:44.070013 | controller | } | to_nice_yaml 2025-11-25 09:39:44.070019 | controller | }}, mode=0644] *** 2025-11-25 09:39:44.070025 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.031) 0:01:05.688 ****** 2025-11-25 09:39:44.070031 | controller | Tuesday 25 November 2025 09:39:43 +0000 (0:00:00.031) 0:01:05.686 ****** 2025-11-25 09:39:44.070043 | controller | changed: [localhost] 2025-11-25 09:39:44.117972 | controller | 2025-11-25 09:39:44.118023 | controller | TASK [install_yamls : Create empty cifmw_install_yamls_environment if needed cifmw_install_yamls_environment={}] *** 2025-11-25 09:39:44.118034 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.435) 0:01:06.124 ****** 2025-11-25 09:39:44.118043 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.435) 0:01:06.122 ****** 2025-11-25 09:39:44.118058 | controller | skipping: [localhost] 2025-11-25 09:39:44.671393 | controller | 2025-11-25 09:39:44.671485 | controller | 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 09:39:44.671494 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.047) 0:01:06.171 ****** 2025-11-25 09:39:44.671501 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.047) 0:01:06.170 ****** 2025-11-25 09:39:44.671522 | controller | changed: [localhost] 2025-11-25 09:39:44.717238 | controller | 2025-11-25 09:39:44.717289 | controller | 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 09:39:44.717300 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.553) 0:01:06.725 ****** 2025-11-25 09:39:44.717307 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.553) 0:01:06.723 ****** 2025-11-25 09:39:44.717319 | controller | ok: [localhost] 2025-11-25 09:39:45.225201 | controller | 2025-11-25 09:39:45.225263 | controller | 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 09:39:45.225274 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.046) 0:01:06.771 ****** 2025-11-25 09:39:45.225281 | controller | Tuesday 25 November 2025 09:39:44 +0000 (0:00:00.046) 0:01:06.769 ****** 2025-11-25 09:39:45.225293 | controller | changed: [localhost] 2025-11-25 09:39:45.282019 | controller | 2025-11-25 09:39:45.282075 | controller | PLAY [Install deps and prepare for KUTTL run] ********************************** 2025-11-25 09:39:45.282085 | controller | 2025-11-25 09:39:45.282093 | controller | TASK [Download install_yamls deps name=install_yamls_makes, tasks_from=make_download_tools] *** 2025-11-25 09:39:45.282101 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.508) 0:01:07.279 ****** 2025-11-25 09:39:45.282108 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.508) 0:01:07.277 ****** 2025-11-25 09:39:45.282123 | controller | 2025-11-25 09:39:45.315424 | controller | TASK [install_yamls_makes : Debug make_download_tools_env var=make_download_tools_env] *** 2025-11-25 09:39:45.315480 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.056) 0:01:07.336 ****** 2025-11-25 09:39:45.315490 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.056) 0:01:07.334 ****** 2025-11-25 09:39:45.315507 | controller | skipping: [localhost] 2025-11-25 09:39:45.351561 | controller | 2025-11-25 09:39:45.351643 | controller | TASK [install_yamls_makes : Debug make_download_tools_params var=make_download_tools_params] *** 2025-11-25 09:39:45.351655 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.033) 0:01:07.369 ****** 2025-11-25 09:39:45.351663 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.033) 0:01:07.367 ****** 2025-11-25 09:39:45.351679 | controller | skipping: [localhost] 2025-11-25 09:40:33.911209 | controller | 2025-11-25 09:40:33.911347 | controller | 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 09:40:33.911356 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.036) 0:01:07.405 ****** 2025-11-25 09:40:33.911363 | controller | Tuesday 25 November 2025 09:39:45 +0000 (0:00:00.036) 0:01:07.403 ****** 2025-11-25 09:40:33.911376 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-11-25 09:40:33.928904 | controller | delimiters such as {{ }} or {% %}. Found: {{ make_download_tools_until | 2025-11-25 09:40:33.928955 | controller | default(true) }} 2025-11-25 09:40:33.928975 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_000_run_download.log 2025-11-25 09:40:33.990768 | controller | changed: [localhost] 2025-11-25 09:40:33.990806 | controller | 2025-11-25 09:40:33.990813 | controller | TASK [Login into Openshift cluster name=openshift_login] *********************** 2025-11-25 09:40:33.990820 | controller | Tuesday 25 November 2025 09:40:33 +0000 (0:00:48.577) 0:01:55.983 ****** 2025-11-25 09:40:33.990826 | controller | Tuesday 25 November 2025 09:40:33 +0000 (0:00:48.577) 0:01:55.981 ****** 2025-11-25 09:40:33.990842 | controller | 2025-11-25 09:40:34.186365 | controller | TASK [openshift_login : Ensure output directory exists path={{ cifmw_openshift_login_basedir }}/artifacts, state=directory, mode=0755] *** 2025-11-25 09:40:34.186413 | controller | Tuesday 25 November 2025 09:40:33 +0000 (0:00:00.061) 0:01:56.045 ****** 2025-11-25 09:40:34.186421 | controller | Tuesday 25 November 2025 09:40:33 +0000 (0:00:00.061) 0:01:56.043 ****** 2025-11-25 09:40:34.186435 | controller | ok: [localhost] 2025-11-25 09:40:34.223543 | controller | 2025-11-25 09:40:34.223583 | controller | TASK [openshift_login : OpenShift login _raw_params=login.yml] ***************** 2025-11-25 09:40:34.223617 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.194) 0:01:56.239 ****** 2025-11-25 09:40:34.223639 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.194) 0:01:56.238 ****** 2025-11-25 09:40:34.223655 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/login.yml for localhost 2025-11-25 09:40:34.255571 | controller | 2025-11-25 09:40:34.255633 | controller | TASK [openshift_login : Check if the password file is present path={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-11-25 09:40:34.255643 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.037) 0:01:56.277 ****** 2025-11-25 09:40:34.255653 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.037) 0:01:56.276 ****** 2025-11-25 09:40:34.255665 | controller | skipping: [localhost] 2025-11-25 09:40:34.284094 | controller | 2025-11-25 09:40:34.284143 | controller | TASK [openshift_login : Fetch user password content src={{ cifmw_openshift_login_password_file | default(cifmw_openshift_password_file) }}] *** 2025-11-25 09:40:34.284154 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.032) 0:01:56.309 ****** 2025-11-25 09:40:34.284162 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.032) 0:01:56.308 ****** 2025-11-25 09:40:34.284178 | controller | skipping: [localhost] 2025-11-25 09:40:34.314036 | controller | 2025-11-25 09:40:34.314115 | controller | 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 09:40:34.314123 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.028) 0:01:56.338 ****** 2025-11-25 09:40:34.314130 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.028) 0:01:56.336 ****** 2025-11-25 09:40:34.314148 | controller | skipping: [localhost] 2025-11-25 09:40:34.354923 | controller | 2025-11-25 09:40:34.355000 | controller | TASK [openshift_login : Set role variables cifmw_openshift_login_kubeconfig={{ 2025-11-25 09:40:34.355008 | controller | cifmw_openshift_login_kubeconfig | 2025-11-25 09:40:34.355015 | controller | default(cifmw_openshift_kubeconfig) | 2025-11-25 09:40:34.355021 | controller | default( 2025-11-25 09:40:34.355027 | controller | ansible_env.KUBECONFIG if 'KUBECONFIG' in ansible_env else 2025-11-25 09:40:34.355033 | controller | cifmw_openshift_login_kubeconfig_default_path 2025-11-25 09:40:34.355040 | controller | ) | trim 2025-11-25 09:40:34.355048 | controller | }}, 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 09:40:34.355057 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.029) 0:01:56.368 ****** 2025-11-25 09:40:34.355063 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.029) 0:01:56.366 ****** 2025-11-25 09:40:34.355082 | controller | ok: [localhost] 2025-11-25 09:40:34.586148 | controller | 2025-11-25 09:40:34.586208 | controller | TASK [openshift_login : Check if kubeconfig exists path={{ cifmw_openshift_login_kubeconfig }}] *** 2025-11-25 09:40:34.586223 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.040) 0:01:56.409 ****** 2025-11-25 09:40:34.586235 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.040) 0:01:56.407 ****** 2025-11-25 09:40:34.586265 | controller | ok: [localhost] 2025-11-25 09:40:34.632177 | controller | 2025-11-25 09:40:34.632233 | controller | 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 ( 2025-11-25 09:40:34.632248 | controller | (cifmw_openshift_login_user is defined) and 2025-11-25 09:40:34.632261 | controller | (cifmw_openshift_login_password is defined) and 2025-11-25 09:40:34.632272 | controller | (cifmw_openshift_login_api is defined) 2025-11-25 09:40:34.632284 | controller | ), msg=If an existing kubeconfig is not provided user/pwd or provided/initial token and API URL must be given] *** 2025-11-25 09:40:34.632296 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.230) 0:01:56.640 ****** 2025-11-25 09:40:34.632308 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.231) 0:01:56.638 ****** 2025-11-25 09:40:34.632327 | controller | ok: [localhost] => 2025-11-25 09:40:34.666426 | controller | changed: false 2025-11-25 09:40:34.666494 | controller | msg: All assertions passed 2025-11-25 09:40:34.666504 | controller | 2025-11-25 09:40:34.666512 | controller | TASK [openshift_login : Fetch kubeconfig content src={{ cifmw_openshift_login_kubeconfig }}] *** 2025-11-25 09:40:34.666521 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.046) 0:01:56.686 ****** 2025-11-25 09:40:34.666529 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.046) 0:01:56.684 ****** 2025-11-25 09:40:34.666545 | controller | skipping: [localhost] 2025-11-25 09:40:34.695361 | controller | 2025-11-25 09:40:34.695397 | controller | TASK [openshift_login : Fetch x509 key based users cifmw_openshift_login_key_based_users={{ 2025-11-25 09:40:34.695405 | controller | ( 2025-11-25 09:40:34.695412 | controller | cifmw_openshift_login_kubeconfig_content_b64.content | 2025-11-25 09:40:34.695418 | controller | b64decode | 2025-11-25 09:40:34.695424 | controller | from_yaml 2025-11-25 09:40:34.695430 | controller | ). users | default([]) | 2025-11-25 09:40:34.695437 | controller | selectattr('user.client-certificate-data', 'defined') | 2025-11-25 09:40:34.695443 | controller | map(attribute="name") | 2025-11-25 09:40:34.695449 | controller | map("split", "/") | 2025-11-25 09:40:34.695455 | controller | map("first") 2025-11-25 09:40:34.695461 | controller | }}, cacheable=True] *** 2025-11-25 09:40:34.695467 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.033) 0:01:56.720 ****** 2025-11-25 09:40:34.695473 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.033) 0:01:56.718 ****** 2025-11-25 09:40:34.695483 | controller | skipping: [localhost] 2025-11-25 09:40:34.721515 | controller | 2025-11-25 09:40:34.721555 | controller | TASK [openshift_login : Assign key based user if not provided and available cifmw_openshift_login_user={{ 2025-11-25 09:40:34.721563 | controller | (cifmw_openshift_login_assume_cert_system_user | ternary('system:', '')) + 2025-11-25 09:40:34.721569 | controller | (cifmw_openshift_login_key_based_users | map('replace', 'system:', '') | unique | first) 2025-11-25 09:40:34.721576 | controller | }}, cifmw_openshift_login_cert_login=True, cacheable=True] *** 2025-11-25 09:40:34.721582 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.029) 0:01:56.749 ****** 2025-11-25 09:40:34.721615 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.029) 0:01:56.748 ****** 2025-11-25 09:40:34.721633 | controller | skipping: [localhost] 2025-11-25 09:40:34.751800 | controller | 2025-11-25 09:40:34.751840 | controller | TASK [openshift_login : Set the retry count cifmw_openshift_login_retries_cnt={{ 2025-11-25 09:40:34.751848 | controller | 0 if cifmw_openshift_login_retries_cnt is undefined else 2025-11-25 09:40:34.751855 | controller | cifmw_openshift_login_retries_cnt|int + 1 2025-11-25 09:40:34.751861 | controller | }}] *** 2025-11-25 09:40:34.751868 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.026) 0:01:56.775 ****** 2025-11-25 09:40:34.751874 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.026) 0:01:56.774 ****** 2025-11-25 09:40:34.751885 | controller | ok: [localhost] 2025-11-25 09:40:34.785405 | controller | 2025-11-25 09:40:34.785457 | controller | TASK [openshift_login : Fetch token _raw_params=try_login.yml] ***************** 2025-11-25 09:40:34.785469 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.030) 0:01:56.805 ****** 2025-11-25 09:40:34.785484 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.030) 0:01:56.804 ****** 2025-11-25 09:40:34.785500 | controller | included: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml for localhost 2025-11-25 09:40:35.089906 | controller | 2025-11-25 09:40:35.089950 | controller | TASK [openshift_login : Try get OpenShift access token _raw_params=oc whoami -t] *** 2025-11-25 09:40:35.089958 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.033) 0:01:56.839 ****** 2025-11-25 09:40:35.089964 | controller | Tuesday 25 November 2025 09:40:34 +0000 (0:00:00.033) 0:01:56.837 ****** 2025-11-25 09:40:35.089976 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/openshift_login/tasks/try_login.yml:17 2025-11-25 09:40:35.548427 | controller | fatal: [localhost]: FAILED! => 2025-11-25 09:40:35.548498 | controller | changed: true 2025-11-25 09:40:35.548506 | controller | cmd: 2025-11-25 09:40:35.548512 | controller | - oc 2025-11-25 09:40:35.548518 | controller | - whoami 2025-11-25 09:40:35.548524 | controller | - -t 2025-11-25 09:40:35.548530 | controller | delta: '0:00:00.110094' 2025-11-25 09:40:35.548537 | controller | end: '2025-11-25 09:40:35.062234' 2025-11-25 09:40:35.548543 | controller | msg: non-zero return code 2025-11-25 09:40:35.548549 | controller | rc: 1 2025-11-25 09:40:35.548555 | controller | start: '2025-11-25 09:40:34.952140' 2025-11-25 09:40:35.548561 | controller | stderr: |- 2025-11-25 09:40:35.548568 | controller | error: Missing or incomplete configuration info. Please point to an existing, complete config file: 2025-11-25 09:40:35.548574 | controller | 2025-11-25 09:40:35.548580 | controller | 2025-11-25 09:40:35.548586 | controller | 1. Via the command-line flag --kubeconfig 2025-11-25 09:40:35.548609 | controller | 2. Via the KUBECONFIG environment variable 2025-11-25 09:40:35.548616 | controller | 3. In your home directory as ~/.kube/config 2025-11-25 09:40:35.548621 | controller | 2025-11-25 09:40:35.548627 | controller | To view or setup config directly use the 'config' command. 2025-11-25 09:40:35.548633 | controller | stderr_lines: 2025-11-25 09:40:35.548639 | controller | - 'error: Missing or incomplete configuration info. Please point to an existing, 2025-11-25 09:40:35.548646 | controller | complete config file:' 2025-11-25 09:40:35.548652 | controller | - '' 2025-11-25 09:40:35.548657 | controller | - '' 2025-11-25 09:40:35.548663 | controller | - ' 1. Via the command-line flag --kubeconfig' 2025-11-25 09:40:35.548669 | controller | - ' 2. Via the KUBECONFIG environment variable' 2025-11-25 09:40:35.548675 | controller | - ' 3. In your home directory as ~/.kube/config' 2025-11-25 09:40:35.548682 | controller | - '' 2025-11-25 09:40:35.548687 | controller | - To view or setup config directly use the 'config' command. 2025-11-25 09:40:35.548693 | controller | stdout: '' 2025-11-25 09:40:35.548699 | controller | stdout_lines: [] 2025-11-25 09:40:35.548705 | controller | ...ignoring 2025-11-25 09:40:35.548712 | controller | 2025-11-25 09:40:35.548720 | controller | 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 09:40:35.548728 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.304) 0:01:57.144 ****** 2025-11-25 09:40:35.548735 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.304) 0:01:57.142 ****** 2025-11-25 09:40:35.548752 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-11-25 09:40:35.579896 | controller | changed: [localhost] 2025-11-25 09:40:35.579940 | controller | 2025-11-25 09:40:35.579950 | controller | TASK [openshift_login : Ensure kubeconfig is provided that=cifmw_openshift_login_kubeconfig != ""] *** 2025-11-25 09:40:35.579966 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.458) 0:01:57.602 ****** 2025-11-25 09:40:35.579974 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.458) 0:01:57.600 ****** 2025-11-25 09:40:35.579989 | controller | ok: [localhost] => 2025-11-25 09:40:35.964573 | controller | changed: false 2025-11-25 09:40:35.964660 | controller | msg: All assertions passed 2025-11-25 09:40:35.964669 | controller | 2025-11-25 09:40:35.964675 | controller | TASK [openshift_login : Fetch new OpenShift access token _raw_params=oc whoami -t] *** 2025-11-25 09:40:35.964682 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.031) 0:01:57.633 ****** 2025-11-25 09:40:35.964688 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.031) 0:01:57.632 ****** 2025-11-25 09:40:35.964705 | controller | changed: [localhost] 2025-11-25 09:40:35.999035 | controller | 2025-11-25 09:40:35.999078 | controller | TASK [openshift_login : Set new OpenShift token cifmw_openshift_login_token={{ 2025-11-25 09:40:35.999086 | controller | (not cifmw_openshift_login_new_token_out.skipped | default(false)) | 2025-11-25 09:40:35.999092 | controller | ternary(cifmw_openshift_login_new_token_out.stdout, cifmw_openshift_login_whoami_out.stdout) 2025-11-25 09:40:35.999099 | controller | }}, cacheable=True] *** 2025-11-25 09:40:35.999105 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.384) 0:01:58.018 ****** 2025-11-25 09:40:35.999111 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.384) 0:01:58.017 ****** 2025-11-25 09:40:35.999122 | controller | ok: [localhost] 2025-11-25 09:40:36.349323 | controller | 2025-11-25 09:40:36.349416 | controller | TASK [openshift_login : Fetch OpenShift API URL _raw_params=oc whoami --show-server=true] *** 2025-11-25 09:40:36.349427 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.034) 0:01:58.053 ****** 2025-11-25 09:40:36.349436 | controller | Tuesday 25 November 2025 09:40:35 +0000 (0:00:00.034) 0:01:58.051 ****** 2025-11-25 09:40:36.349451 | controller | changed: [localhost] 2025-11-25 09:40:36.663508 | controller | 2025-11-25 09:40:36.663550 | controller | TASK [openshift_login : Fetch OpenShift kubeconfig context _raw_params=oc whoami -c] *** 2025-11-25 09:40:36.663560 | controller | Tuesday 25 November 2025 09:40:36 +0000 (0:00:00.350) 0:01:58.403 ****** 2025-11-25 09:40:36.663568 | controller | Tuesday 25 November 2025 09:40:36 +0000 (0:00:00.350) 0:01:58.401 ****** 2025-11-25 09:40:36.663582 | controller | changed: [localhost] 2025-11-25 09:40:36.965108 | controller | 2025-11-25 09:40:36.965154 | controller | TASK [openshift_login : Fetch OpenShift current user _raw_params=oc whoami] **** 2025-11-25 09:40:36.965163 | controller | Tuesday 25 November 2025 09:40:36 +0000 (0:00:00.314) 0:01:58.717 ****** 2025-11-25 09:40:36.965170 | controller | Tuesday 25 November 2025 09:40:36 +0000 (0:00:00.314) 0:01:58.716 ****** 2025-11-25 09:40:36.965184 | controller | changed: [localhost] 2025-11-25 09:40:37.005640 | controller | 2025-11-25 09:40:37.005688 | controller | 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 | 2025-11-25 09:40:37.005700 | controller | combine({'KUBECONFIG': cifmw_openshift_login_kubeconfig}) 2025-11-25 09:40:37.005708 | controller | ) if cifmw_install_yamls_environment is defined else omit 2025-11-25 09:40:37.005715 | controller | }}, cacheable=True] *** 2025-11-25 09:40:37.005723 | controller | Tuesday 25 November 2025 09:40:36 +0000 (0:00:00.301) 0:01:59.019 ****** 2025-11-25 09:40:37.005731 | controller | Tuesday 25 November 2025 09:40:36 +0000 (0:00:00.301) 0:01:59.017 ****** 2025-11-25 09:40:37.005745 | controller | ok: [localhost] 2025-11-25 09:40:37.408214 | controller | 2025-11-25 09:40:37.408288 | controller | 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 09:40:37.408313 | controller | Tuesday 25 November 2025 09:40:37 +0000 (0:00:00.040) 0:01:59.059 ****** 2025-11-25 09:40:37.408322 | controller | Tuesday 25 November 2025 09:40:37 +0000 (0:00:00.040) 0:01:59.058 ****** 2025-11-25 09:40:37.408342 | controller | changed: [localhost] 2025-11-25 09:40:37.746933 | controller | 2025-11-25 09:40:37.746981 | controller | 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 09:40:37.746991 | controller | Tuesday 25 November 2025 09:40:37 +0000 (0:00:00.402) 0:01:59.462 ****** 2025-11-25 09:40:37.746999 | controller | Tuesday 25 November 2025 09:40:37 +0000 (0:00:00.402) 0:01:59.460 ****** 2025-11-25 09:40:37.747013 | controller | ok: [localhost] 2025-11-25 09:40:38.258641 | controller | 2025-11-25 09:40:38.258723 | controller | TASK [openshift_login : Append the KUBECONFIG to the install yamls parameters content={{ 2025-11-25 09:40:38.258734 | controller | cifmw_openshift_login_install_yamls_artifacts_slurp['content'] | b64decode | from_yaml | 2025-11-25 09:40:38.258742 | controller | combine( 2025-11-25 09:40:38.258750 | controller | { 2025-11-25 09:40:38.258757 | controller | 'cifmw_install_yamls_environment': { 2025-11-25 09:40:38.258765 | controller | 'KUBECONFIG': cifmw_openshift_login_kubeconfig 2025-11-25 09:40:38.258773 | controller | } 2025-11-25 09:40:38.258779 | controller | }, recursive=true) | to_nice_yaml 2025-11-25 09:40:38.258786 | controller | }}, dest={{ cifmw_basedir|default(ansible_user_dir ~ '/ci-framework-data') }}/artifacts/parameters/install-yamls-params.yml, mode=0600] *** 2025-11-25 09:40:38.258793 | controller | Tuesday 25 November 2025 09:40:37 +0000 (0:00:00.338) 0:01:59.800 ****** 2025-11-25 09:40:38.258800 | controller | Tuesday 25 November 2025 09:40:37 +0000 (0:00:00.338) 0:01:59.799 ****** 2025-11-25 09:40:38.258819 | controller | changed: [localhost] 2025-11-25 09:40:38.466581 | controller | 2025-11-25 09:40:38.466640 | controller | TASK [openshift_setup : Ensure output directory exists path={{ cifmw_openshift_setup_basedir }}/artifacts, state=directory, mode=0755] *** 2025-11-25 09:40:38.466649 | controller | Tuesday 25 November 2025 09:40:38 +0000 (0:00:00.511) 0:02:00.312 ****** 2025-11-25 09:40:38.466656 | controller | Tuesday 25 November 2025 09:40:38 +0000 (0:00:00.511) 0:02:00.311 ****** 2025-11-25 09:40:38.466666 | controller | ok: [localhost] 2025-11-25 09:40:38.504028 | controller | 2025-11-25 09:40:38.504062 | controller | TASK [openshift_setup : Fetch namespaces to create cifmw_openshift_setup_namespaces={{ 2025-11-25 09:40:38.504069 | controller | (( 2025-11-25 09:40:38.504076 | controller | ([cifmw_install_yamls_defaults['NAMESPACE']] + 2025-11-25 09:40:38.504083 | controller | ([cifmw_install_yamls_defaults['OPERATOR_NAMESPACE']] if 'OPERATOR_NAMESPACE' is in cifmw_install_yamls_defaults else []) 2025-11-25 09:40:38.504089 | controller | ) if cifmw_install_yamls_defaults is defined else [] 2025-11-25 09:40:38.504095 | controller | ) + cifmw_openshift_setup_create_namespaces) | unique 2025-11-25 09:40:38.504101 | controller | }}] *** 2025-11-25 09:40:38.504107 | controller | Tuesday 25 November 2025 09:40:38 +0000 (0:00:00.207) 0:02:00.520 ****** 2025-11-25 09:40:38.504127 | controller | Tuesday 25 November 2025 09:40:38 +0000 (0:00:00.207) 0:02:00.519 ****** 2025-11-25 09:40:38.504138 | controller | ok: [localhost] 2025-11-25 09:40:40.401975 | controller | 2025-11-25 09:40:40.402032 | controller | 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 09:40:40.402042 | controller | Tuesday 25 November 2025 09:40:38 +0000 (0:00:00.037) 0:02:00.558 ****** 2025-11-25 09:40:40.402050 | controller | Tuesday 25 November 2025 09:40:38 +0000 (0:00:00.037) 0:02:00.556 ****** 2025-11-25 09:40:40.402064 | controller | changed: [localhost] => (item=openstack) 2025-11-25 09:40:40.427577 | controller | changed: [localhost] => (item=openstack-operators) 2025-11-25 09:40:40.427678 | controller | 2025-11-25 09:40:40.427687 | controller | 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 09:40:40.427825 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:01.897) 0:02:02.455 ****** 2025-11-25 09:40:40.427836 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:01.897) 0:02:02.454 ****** 2025-11-25 09:40:40.427849 | controller | skipping: [localhost] 2025-11-25 09:40:40.466710 | controller | 2025-11-25 09:40:40.466801 | controller | 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 09:40:40.466816 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.025) 0:02:02.481 ****** 2025-11-25 09:40:40.466825 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.025) 0:02:02.480 ****** 2025-11-25 09:40:40.466847 | controller | skipping: [localhost] => (item=openstack) 2025-11-25 09:40:40.499627 | controller | skipping: [localhost] => (item=openstack-operators) 2025-11-25 09:40:40.499708 | controller | skipping: [localhost] 2025-11-25 09:40:40.499716 | controller | 2025-11-25 09:40:40.499723 | controller | 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 09:40:40.499730 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.039) 0:02:02.520 ****** 2025-11-25 09:40:40.499736 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.039) 0:02:02.519 ****** 2025-11-25 09:40:40.499755 | controller | skipping: [localhost] 2025-11-25 09:40:40.533123 | controller | 2025-11-25 09:40:40.533205 | controller | 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 09:40:40.533218 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.033) 0:02:02.553 ****** 2025-11-25 09:40:40.533227 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.033) 0:02:02.552 ****** 2025-11-25 09:40:40.533249 | controller | skipping: [localhost] 2025-11-25 09:40:40.564733 | controller | 2025-11-25 09:40:40.564781 | controller | TASK [Ensure we have custom CA installed on host role=install_ca] ************** 2025-11-25 09:40:40.564795 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.033) 0:02:02.587 ****** 2025-11-25 09:40:40.564804 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.033) 0:02:02.585 ****** 2025-11-25 09:40:40.564827 | controller | skipping: [localhost] 2025-11-25 09:40:40.596176 | controller | 2025-11-25 09:40:40.596220 | controller | TASK [openshift_setup : Update ca bundle _raw_params=update-ca-trust extract] *** 2025-11-25 09:40:40.596229 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.031) 0:02:02.618 ****** 2025-11-25 09:40:40.596235 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.031) 0:02:02.617 ****** 2025-11-25 09:40:40.596246 | controller | skipping: [localhost] 2025-11-25 09:40:40.624496 | controller | 2025-11-25 09:40:40.624539 | controller | TASK [openshift_setup : Slurp CAs file src={{ cifmw_openshift_setup_ca_bundle_path }}] *** 2025-11-25 09:40:40.624549 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.031) 0:02:02.650 ****** 2025-11-25 09:40:40.624563 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.031) 0:02:02.648 ****** 2025-11-25 09:40:40.624577 | controller | skipping: [localhost] 2025-11-25 09:40:40.653088 | controller | 2025-11-25 09:40:40.653129 | controller | 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 09:40:40.653137 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.028) 0:02:02.678 ****** 2025-11-25 09:40:40.653144 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.028) 0:02:02.677 ****** 2025-11-25 09:40:40.653155 | controller | skipping: [localhost] 2025-11-25 09:40:40.683452 | controller | 2025-11-25 09:40:40.683492 | controller | 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 09:40:40.683503 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.028) 0:02:02.707 ****** 2025-11-25 09:40:40.683509 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.028) 0:02:02.705 ****** 2025-11-25 09:40:40.683520 | controller | skipping: [localhost] 2025-11-25 09:40:40.711763 | controller | 2025-11-25 09:40:40.711819 | controller | 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 09:40:40.711828 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.030) 0:02:02.737 ****** 2025-11-25 09:40:40.711834 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.030) 0:02:02.736 ****** 2025-11-25 09:40:40.711845 | controller | skipping: [localhost] 2025-11-25 09:40:40.743433 | controller | 2025-11-25 09:40:40.743474 | controller | 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 09:40:40.743484 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.028) 0:02:02.766 ****** 2025-11-25 09:40:40.743490 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.028) 0:02:02.764 ****** 2025-11-25 09:40:40.743503 | controller | skipping: [localhost] 2025-11-25 09:40:41.810328 | controller | 2025-11-25 09:40:41.810401 | controller | 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 09:40:41.810418 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.031) 0:02:02.797 ****** 2025-11-25 09:40:41.810433 | controller | Tuesday 25 November 2025 09:40:40 +0000 (0:00:00.031) 0:02:02.795 ****** 2025-11-25 09:40:41.810457 | controller | ok: [localhost] 2025-11-25 09:40:42.911274 | controller | 2025-11-25 09:40:42.911364 | controller | 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 09:40:42.911386 | controller | Tuesday 25 November 2025 09:40:41 +0000 (0:00:01.066) 0:02:03.864 ****** 2025-11-25 09:40:42.911396 | controller | Tuesday 25 November 2025 09:40:41 +0000 (0:00:01.066) 0:02:03.862 ****** 2025-11-25 09:40:42.911417 | controller | changed: [localhost] 2025-11-25 09:40:43.792039 | controller | 2025-11-25 09:40:43.792076 | controller | 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 09:40:43.792084 | controller | Tuesday 25 November 2025 09:40:42 +0000 (0:00:01.100) 0:02:04.965 ****** 2025-11-25 09:40:43.792091 | controller | Tuesday 25 November 2025 09:40:42 +0000 (0:00:01.100) 0:02:04.963 ****** 2025-11-25 09:40:43.792102 | controller | changed: [localhost] 2025-11-25 09:40:43.816135 | controller | 2025-11-25 09:40:43.816174 | controller | 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 09:40:43.816184 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.881) 0:02:05.846 ****** 2025-11-25 09:40:43.816191 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.881) 0:02:05.844 ****** 2025-11-25 09:40:43.816202 | controller | skipping: [localhost] 2025-11-25 09:40:43.844322 | controller | 2025-11-25 09:40:43.844363 | controller | 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 09:40:43.844371 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.023) 0:02:05.870 ****** 2025-11-25 09:40:43.844378 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.023) 0:02:05.868 ****** 2025-11-25 09:40:43.844389 | controller | skipping: [localhost] 2025-11-25 09:40:43.909792 | controller | 2025-11-25 09:40:43.909836 | controller | TASK [Attach default network to CRC name=install_yamls_makes, tasks_from=make_crc_attach_default_interface] *** 2025-11-25 09:40:43.909847 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.028) 0:02:05.898 ****** 2025-11-25 09:40:43.909856 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.028) 0:02:05.897 ****** 2025-11-25 09:40:43.909870 | controller | 2025-11-25 09:40:43.941545 | controller | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_env var=make_crc_attach_default_interface_env] *** 2025-11-25 09:40:43.941581 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.065) 0:02:05.964 ****** 2025-11-25 09:40:43.941611 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.065) 0:02:05.962 ****** 2025-11-25 09:40:43.941629 | controller | skipping: [localhost] 2025-11-25 09:40:43.968530 | controller | 2025-11-25 09:40:43.968568 | controller | TASK [install_yamls_makes : Debug make_crc_attach_default_interface_params var=make_crc_attach_default_interface_params] *** 2025-11-25 09:40:43.968575 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.031) 0:02:05.995 ****** 2025-11-25 09:40:43.968582 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.031) 0:02:05.994 ****** 2025-11-25 09:40:43.968611 | controller | skipping: [localhost] 2025-11-25 09:40:49.152783 | controller | 2025-11-25 09:40:49.153328 | controller | 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 09:40:49.153349 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.027) 0:02:06.022 ****** 2025-11-25 09:40:49.153358 | controller | Tuesday 25 November 2025 09:40:43 +0000 (0:00:00.027) 0:02:06.021 ****** 2025-11-25 09:40:49.153388 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-11-25 09:40:49.172963 | controller | delimiters such as {{ }} or {% %}. Found: {{ 2025-11-25 09:40:49.173008 | controller | make_crc_attach_default_interface_until | default(true) }} 2025-11-25 09:40:49.173025 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-11-25 09:40:49.243260 | controller | changed: [localhost] 2025-11-25 09:40:49.243298 | controller | 2025-11-25 09:40:49.243306 | controller | 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 09:40:49.243313 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:05.204) 0:02:11.227 ****** 2025-11-25 09:40:49.243320 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:05.204) 0:02:11.225 ****** 2025-11-25 09:40:49.243331 | controller | ok: [localhost] 2025-11-25 09:40:49.339503 | controller | 2025-11-25 09:40:49.339555 | controller | 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 09:40:49.339572 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.070) 0:02:11.297 ****** 2025-11-25 09:40:49.339585 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.070) 0:02:11.295 ****** 2025-11-25 09:40:49.339656 | controller | ok: [localhost] 2025-11-25 09:40:49.442622 | controller | 2025-11-25 09:40:49.442672 | controller | TASK [run_hook : Loop on hooks for pre_kuttl _raw_params={{ hook.type }}.yml] *** 2025-11-25 09:40:49.442681 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.095) 0:02:11.393 ****** 2025-11-25 09:40:49.442687 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.096) 0:02:11.391 ****** 2025-11-25 09:40:49.442700 | controller | skipping: [localhost] 2025-11-25 09:40:49.508913 | controller | 2025-11-25 09:40:49.508974 | controller | TASK [Run kuttl tests _raw_params=run-kuttl-tests.yml] ************************* 2025-11-25 09:40:49.508987 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.103) 0:02:11.496 ****** 2025-11-25 09:40:49.508996 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.103) 0:02:11.494 ****** 2025-11-25 09:40:49.509012 | controller | 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 09:40:49.570994 | controller | 2025-11-25 09:40:49.571112 | controller | TASK [Load parameters dir={{ cifmw_basedir }}/artifacts/parameters] ************ 2025-11-25 09:40:49.571121 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.066) 0:02:11.562 ****** 2025-11-25 09:40:49.571127 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.066) 0:02:11.561 ****** 2025-11-25 09:40:49.571153 | controller | ok: [localhost] 2025-11-25 09:40:49.630300 | controller | 2025-11-25 09:40:49.630413 | controller | 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 09:40:49.630423 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.062) 0:02:11.624 ****** 2025-11-25 09:40:49.630431 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.062) 0:02:11.623 ****** 2025-11-25 09:40:49.630456 | controller | ok: [localhost] => (item={'key': 'keystone-operator', 'value': {'git_commit_hash': 'aab5cfe1d4a691d84a96189c698c58d261af9e66', 'git_src_dir': '/home/zuul/src/github.com/openstack-k8s-operators/keystone-operator', 'image': '38.129.56.103:5001/openstack-k8s-operators/keystone-operator:aab5cfe1d4a691d84a96189c698c58d261af9e66', 'image_bundle': '38.129.56.103:5001/openstack-k8s-operators/keystone-operator-bundle:aab5cfe1d4a691d84a96189c698c58d261af9e66', 'image_catalog': '38.129.56.103:5001/openstack-k8s-operators/keystone-operator-index:aab5cfe1d4a691d84a96189c698c58d261af9e66'}}) 2025-11-25 09:40:49.668989 | controller | 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.103:5001/openstack-k8s-operators/openstack-operator:17b1faec894dfcad58164b52f38cf6acda76f9dc', 'image_bundle': '38.129.56.103:5001/openstack-k8s-operators/openstack-operator-bundle:17b1faec894dfcad58164b52f38cf6acda76f9dc', 'image_catalog': '38.129.56.103:5001/openstack-k8s-operators/openstack-operator-index:17b1faec894dfcad58164b52f38cf6acda76f9dc'}}) 2025-11-25 09:40:49.669097 | controller | 2025-11-25 09:40:49.669108 | controller | TASK [Set environment vars for kuttl test cifmw_kuttl_tests_env={{ 2025-11-25 09:40:49.669118 | controller | _local_operators_indexes | default({}) | 2025-11-25 09:40:49.669126 | controller | combine(cifmw_install_yamls_environment) | 2025-11-25 09:40:49.669134 | controller | combine(cifmw_kuttl_tests_env_vars | default({})) | 2025-11-25 09:40:49.669143 | controller | combine(cifmw_kuttl_openstack_prep_vars | default({})) | 2025-11-25 09:40:49.669151 | controller | combine({'PATH': cifmw_path}) 2025-11-25 09:40:49.669159 | controller | }}] *** 2025-11-25 09:40:49.669167 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.059) 0:02:11.684 ****** 2025-11-25 09:40:49.669181 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.059) 0:02:11.682 ****** 2025-11-25 09:40:49.669206 | controller | ok: [localhost] 2025-11-25 09:40:49.718561 | controller | 2025-11-25 09:40:49.718650 | controller | TASK [Clean storage beforehand name=ci_local_storage, tasks_from=cleanup.yml] *** 2025-11-25 09:40:49.718658 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.038) 0:02:11.722 ****** 2025-11-25 09:40:49.718664 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.038) 0:02:11.721 ****** 2025-11-25 09:40:49.718682 | controller | 2025-11-25 09:40:50.549289 | controller | 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 09:40:50.549366 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.049) 0:02:11.772 ****** 2025-11-25 09:40:50.549408 | controller | Tuesday 25 November 2025 09:40:49 +0000 (0:00:00.049) 0:02:11.771 ****** 2025-11-25 09:40:50.549428 | controller | ok: [localhost] 2025-11-25 09:40:50.584914 | controller | 2025-11-25 09:40:50.584960 | controller | TASK [ci_local_storage : Export PVs as facts cifmw_cls_pvs={{ _pv_info.resources | 2025-11-25 09:40:50.584970 | controller | selectattr("metadata.name", "defined") | 2025-11-25 09:40:50.584979 | controller | map(attribute="metadata.name") 2025-11-25 09:40:50.584987 | controller | }}] *** 2025-11-25 09:40:50.584995 | controller | Tuesday 25 November 2025 09:40:50 +0000 (0:00:00.830) 0:02:12.603 ****** 2025-11-25 09:40:50.585003 | controller | Tuesday 25 November 2025 09:40:50 +0000 (0:00:00.830) 0:02:12.601 ****** 2025-11-25 09:40:50.585019 | controller | ok: [localhost] 2025-11-25 09:40:50.605265 | controller | 2025-11-25 09:40:50.605307 | controller | 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 09:40:50.605318 | controller | Tuesday 25 November 2025 09:40:50 +0000 (0:00:00.035) 0:02:12.638 ****** 2025-11-25 09:40:50.605327 | controller | Tuesday 25 November 2025 09:40:50 +0000 (0:00:00.035) 0:02:12.637 ****** 2025-11-25 09:40:50.605340 | controller | skipping: [localhost] 2025-11-25 09:40:51.407270 | controller | 2025-11-25 09:40:51.407318 | controller | 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 09:40:51.407330 | controller | Tuesday 25 November 2025 09:40:50 +0000 (0:00:00.020) 0:02:12.659 ****** 2025-11-25 09:40:51.407347 | controller | Tuesday 25 November 2025 09:40:50 +0000 (0:00:00.020) 0:02:12.657 ****** 2025-11-25 09:40:51.407363 | controller | ok: [localhost] 2025-11-25 09:40:54.438897 | controller | 2025-11-25 09:40:54.438955 | controller | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-11-25 09:40:54.438965 | controller | Tuesday 25 November 2025 09:40:51 +0000 (0:00:00.801) 0:02:13.461 ****** 2025-11-25 09:40:54.438973 | controller | Tuesday 25 November 2025 09:40:51 +0000 (0:00:00.801) 0:02:13.459 ****** 2025-11-25 09:40:54.438988 | controller | [WARNING]: Platform linux on host localhost is using the discovered Python 2025-11-25 09:40:54.450410 | controller | interpreter at /usr/bin/python3.9, but future installation of another Python 2025-11-25 09:40:54.450456 | controller | interpreter could change the meaning of that path. See 2025-11-25 09:40:54.450465 | controller | https://docs.ansible.com/ansible- 2025-11-25 09:40:54.450473 | controller | core/2.15/reference_appendices/interpreter_discovery.html for more information. 2025-11-25 09:40:54.450487 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=crc) 2025-11-25 09:40:54.497194 | controller | changed: [localhost -> controller(38.129.56.20)] => (item=controller) 2025-11-25 09:40:54.497234 | controller | changed: [localhost] => (item=localhost) 2025-11-25 09:40:54.497242 | controller | 2025-11-25 09:40:54.497249 | controller | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ 2025-11-25 09:40:54.497255 | controller | _host_map | 2025-11-25 09:40:54.497262 | controller | selectattr("key", "in", k8s_nodes_hostnames) | 2025-11-25 09:40:54.497268 | controller | map(attribute="value") | 2025-11-25 09:40:54.497274 | controller | list 2025-11-25 09:40:54.497280 | controller | }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-11-25 09:40:54.497285 | controller | Tuesday 25 November 2025 09:40:54 +0000 (0:00:03.043) 0:02:16.504 ****** 2025-11-25 09:40:54.497292 | controller | Tuesday 25 November 2025 09:40:54 +0000 (0:00:03.043) 0:02:16.502 ****** 2025-11-25 09:40:54.497303 | controller | ok: [localhost] 2025-11-25 09:40:54.539299 | controller | 2025-11-25 09:40:54.539338 | controller | TASK [ci_local_storage : Delete directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-11-25 09:40:54.539346 | controller | Tuesday 25 November 2025 09:40:54 +0000 (0:00:00.046) 0:02:16.551 ****** 2025-11-25 09:40:54.539352 | controller | Tuesday 25 November 2025 09:40:54 +0000 (0:00:00.046) 0:02:16.549 ****** 2025-11-25 09:40:54.539364 | controller | 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 09:40:59.970660 | controller | 2025-11-25 09:40:59.970709 | controller | TASK [ci_local_storage : Perform action in the PV directory path={{ 2025-11-25 09:40:59.970721 | controller | [ 2025-11-25 09:40:59.970728 | controller | cifmw_cls_local_storage_name, 2025-11-25 09:40:59.970735 | controller | 'pv'+ ("%02d" | format(item | int)) 2025-11-25 09:40:59.970741 | controller | ] | path_join 2025-11-25 09:40:59.970747 | controller | }}, state={{ 2025-11-25 09:40:59.970753 | controller | 'directory' if cifmw_cls_action == 'create' else 'absent' 2025-11-25 09:40:59.970759 | controller | }}, mode=0775] *** 2025-11-25 09:40:59.970765 | controller | Tuesday 25 November 2025 09:40:54 +0000 (0:00:00.042) 0:02:16.593 ****** 2025-11-25 09:40:59.970771 | controller | Tuesday 25 November 2025 09:40:54 +0000 (0:00:00.042) 0:02:16.591 ****** 2025-11-25 09:40:59.970782 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=1) 2025-11-25 09:41:11.168348 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=2) 2025-11-25 09:41:11.168411 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=3) 2025-11-25 09:41:11.168418 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=4) 2025-11-25 09:41:11.168424 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=5) 2025-11-25 09:41:11.168430 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=6) 2025-11-25 09:41:11.168436 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=7) 2025-11-25 09:41:11.168442 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=8) 2025-11-25 09:41:11.168448 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=9) 2025-11-25 09:41:11.168454 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=10) 2025-11-25 09:41:11.168460 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=11) 2025-11-25 09:41:11.168472 | controller | ok: [localhost -> crc(38.102.83.5)] => (item=12) 2025-11-25 09:41:11.168478 | controller | 2025-11-25 09:41:11.168485 | controller | 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 09:41:11.168492 | controller | Tuesday 25 November 2025 09:40:59 +0000 (0:00:05.431) 0:02:22.024 ****** 2025-11-25 09:41:11.168499 | controller | Tuesday 25 November 2025 09:40:59 +0000 (0:00:05.431) 0:02:22.023 ****** 2025-11-25 09:41:11.168510 | controller | changed: [localhost] 2025-11-25 09:41:11.220211 | controller | 2025-11-25 09:41:11.220325 | controller | TASK [Create storage name=ci_local_storage] ************************************ 2025-11-25 09:41:11.220336 | controller | Tuesday 25 November 2025 09:41:11 +0000 (0:00:11.197) 0:02:33.222 ****** 2025-11-25 09:41:11.220344 | controller | Tuesday 25 November 2025 09:41:11 +0000 (0:00:11.197) 0:02:33.220 ****** 2025-11-25 09:41:11.220370 | controller | 2025-11-25 09:41:11.439330 | controller | TASK [ci_local_storage : Create role needed directories path={{ cifmw_cls_manifests_dir }}, state=directory, mode=0755] *** 2025-11-25 09:41:11.439369 | controller | Tuesday 25 November 2025 09:41:11 +0000 (0:00:00.051) 0:02:33.274 ****** 2025-11-25 09:41:11.439377 | controller | Tuesday 25 November 2025 09:41:11 +0000 (0:00:00.051) 0:02:33.272 ****** 2025-11-25 09:41:11.439390 | controller | changed: [localhost] 2025-11-25 09:41:12.207277 | controller | 2025-11-25 09:41:12.207324 | controller | 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 09:41:12.207332 | controller | Tuesday 25 November 2025 09:41:11 +0000 (0:00:00.219) 0:02:33.493 ****** 2025-11-25 09:41:12.207340 | controller | Tuesday 25 November 2025 09:41:11 +0000 (0:00:00.219) 0:02:33.492 ****** 2025-11-25 09:41:12.207350 | controller | changed: [localhost] 2025-11-25 09:41:13.150217 | controller | 2025-11-25 09:41:13.150255 | controller | 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 09:41:13.150263 | controller | Tuesday 25 November 2025 09:41:12 +0000 (0:00:00.763) 0:02:34.257 ****** 2025-11-25 09:41:13.150270 | controller | Tuesday 25 November 2025 09:41:12 +0000 (0:00:00.763) 0:02:34.255 ****** 2025-11-25 09:41:13.150281 | controller | changed: [localhost] 2025-11-25 09:41:14.328452 | controller | 2025-11-25 09:41:14.328526 | controller | 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 09:41:14.328534 | controller | Tuesday 25 November 2025 09:41:13 +0000 (0:00:00.947) 0:02:35.204 ****** 2025-11-25 09:41:14.328541 | controller | Tuesday 25 November 2025 09:41:13 +0000 (0:00:00.947) 0:02:35.202 ****** 2025-11-25 09:41:14.328552 | controller | ok: [localhost] 2025-11-25 09:41:16.290975 | controller | 2025-11-25 09:41:16.291009 | controller | TASK [ci_local_storage : Fetch hostnames for all hosts _raw_params=hostname] *** 2025-11-25 09:41:16.291016 | controller | Tuesday 25 November 2025 09:41:14 +0000 (0:00:01.178) 0:02:36.382 ****** 2025-11-25 09:41:16.291022 | controller | Tuesday 25 November 2025 09:41:14 +0000 (0:00:01.178) 0:02:36.381 ****** 2025-11-25 09:41:16.291033 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=crc) 2025-11-25 09:41:16.333668 | controller | changed: [localhost -> controller(38.129.56.20)] => (item=controller) 2025-11-25 09:41:16.333707 | controller | changed: [localhost] => (item=localhost) 2025-11-25 09:41:16.333715 | controller | 2025-11-25 09:41:16.333721 | controller | TASK [ci_local_storage : Set the hosts k8s ansible hosts cifmw_ci_local_storage_k8s_hosts={{ 2025-11-25 09:41:16.333728 | controller | _host_map | 2025-11-25 09:41:16.333735 | controller | selectattr("key", "in", k8s_nodes_hostnames) | 2025-11-25 09:41:16.333746 | controller | map(attribute="value") | 2025-11-25 09:41:16.333752 | controller | list 2025-11-25 09:41:16.333758 | controller | }}, cifmw_ci_local_storage_k8s_hostnames={{ k8s_nodes_hostnames }}] *** 2025-11-25 09:41:16.333764 | controller | Tuesday 25 November 2025 09:41:16 +0000 (0:00:01.962) 0:02:38.345 ****** 2025-11-25 09:41:16.333770 | controller | Tuesday 25 November 2025 09:41:16 +0000 (0:00:01.962) 0:02:38.343 ****** 2025-11-25 09:41:16.333782 | controller | ok: [localhost] 2025-11-25 09:41:17.107404 | controller | 2025-11-25 09:41:17.107448 | controller | 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 09:41:17.107456 | controller | Tuesday 25 November 2025 09:41:16 +0000 (0:00:00.042) 0:02:38.387 ****** 2025-11-25 09:41:17.107463 | controller | Tuesday 25 November 2025 09:41:16 +0000 (0:00:00.042) 0:02:38.386 ****** 2025-11-25 09:41:17.107474 | controller | changed: [localhost] 2025-11-25 09:41:17.142552 | controller | 2025-11-25 09:41:17.142623 | controller | TASK [ci_local_storage : Create directories on worker node _raw_params=worker_node_dirs.yml] *** 2025-11-25 09:41:17.142638 | controller | Tuesday 25 November 2025 09:41:17 +0000 (0:00:00.773) 0:02:39.161 ****** 2025-11-25 09:41:17.142646 | controller | Tuesday 25 November 2025 09:41:17 +0000 (0:00:00.773) 0:02:39.159 ****** 2025-11-25 09:41:17.142659 | controller | 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 09:41:22.283237 | controller | 2025-11-25 09:41:22.283284 | controller | TASK [ci_local_storage : Perform action in the PV directory path={{ 2025-11-25 09:41:22.283295 | controller | [ 2025-11-25 09:41:22.283303 | controller | cifmw_cls_local_storage_name, 2025-11-25 09:41:22.283311 | controller | 'pv'+ ("%02d" | format(item | int)) 2025-11-25 09:41:22.283319 | controller | ] | path_join 2025-11-25 09:41:22.283327 | controller | }}, state={{ 2025-11-25 09:41:22.283335 | controller | 'directory' if cifmw_cls_action == 'create' else 'absent' 2025-11-25 09:41:22.283343 | controller | }}, mode=0775] *** 2025-11-25 09:41:22.283349 | controller | Tuesday 25 November 2025 09:41:17 +0000 (0:00:00.035) 0:02:39.196 ****** 2025-11-25 09:41:22.283355 | controller | Tuesday 25 November 2025 09:41:17 +0000 (0:00:00.035) 0:02:39.195 ****** 2025-11-25 09:41:22.283366 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=1) 2025-11-25 09:41:22.774164 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=2) 2025-11-25 09:41:22.774215 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=3) 2025-11-25 09:41:22.774222 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=4) 2025-11-25 09:41:22.774229 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=5) 2025-11-25 09:41:22.774235 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=6) 2025-11-25 09:41:22.774241 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=7) 2025-11-25 09:41:22.774252 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=8) 2025-11-25 09:41:22.774258 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=9) 2025-11-25 09:41:22.774264 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=10) 2025-11-25 09:41:22.774270 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=11) 2025-11-25 09:41:22.774276 | controller | changed: [localhost -> crc(38.102.83.5)] => (item=12) 2025-11-25 09:41:22.774282 | controller | 2025-11-25 09:41:22.774288 | controller | 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 09:41:22.774295 | controller | Tuesday 25 November 2025 09:41:22 +0000 (0:00:05.140) 0:02:44.337 ****** 2025-11-25 09:41:22.774302 | controller | Tuesday 25 November 2025 09:41:22 +0000 (0:00:05.140) 0:02:44.335 ****** 2025-11-25 09:41:22.774314 | controller | changed: [localhost] 2025-11-25 09:41:23.676984 | controller | 2025-11-25 09:41:23.677062 | controller | 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 09:41:23.677084 | controller | Tuesday 25 November 2025 09:41:22 +0000 (0:00:00.491) 0:02:44.828 ****** 2025-11-25 09:41:23.677094 | controller | Tuesday 25 November 2025 09:41:22 +0000 (0:00:00.491) 0:02:44.826 ****** 2025-11-25 09:41:23.677113 | controller | changed: [localhost] 2025-11-25 09:41:23.706719 | controller | 2025-11-25 09:41:23.706765 | controller | TASK [Get resource status before keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_before_{{ operator }}_kuttl.log 2025-11-25 09:41:23.706775 | controller | ] *** 2025-11-25 09:41:23.706784 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.902) 0:02:45.731 ****** 2025-11-25 09:41:23.706794 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.902) 0:02:45.729 ****** 2025-11-25 09:41:23.706808 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:37 2025-11-25 09:41:23.739348 | controller | fatal: [localhost]: FAILED! => 2025-11-25 09:41:23.739390 | controller | msg: '''commands_before_kuttl_run'' is undefined. ''commands_before_kuttl_run'' is 2025-11-25 09:41:23.739398 | controller | undefined' 2025-11-25 09:41:23.739404 | controller | ...ignoring 2025-11-25 09:41:23.739410 | controller | 2025-11-25 09:41:23.739417 | controller | TASK [Set make_keystone_kuttl_env vars make_{{ operator }}_kuttl_env={{ cifmw_kuttl_tests_env }}] *** 2025-11-25 09:41:23.739425 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.029) 0:02:45.760 ****** 2025-11-25 09:41:23.739432 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.029) 0:02:45.759 ****** 2025-11-25 09:41:23.739445 | controller | ok: [localhost] 2025-11-25 09:41:23.795493 | controller | 2025-11-25 09:41:23.795536 | controller | TASK [Run make_keystone_kuttl name=install_yamls_makes, tasks_from=make_{{ operator }}_kuttl.yml, apply={'ignore_errors': True}] *** 2025-11-25 09:41:23.795547 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.032) 0:02:45.793 ****** 2025-11-25 09:41:23.795554 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.032) 0:02:45.791 ****** 2025-11-25 09:41:23.795568 | controller | 2025-11-25 09:41:23.840727 | controller | TASK [install_yamls_makes : Debug make_keystone_kuttl_env var=make_keystone_kuttl_env] *** 2025-11-25 09:41:23.840767 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.056) 0:02:45.849 ****** 2025-11-25 09:41:23.840775 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.056) 0:02:45.848 ****** 2025-11-25 09:41:23.840790 | controller | ok: [localhost] => 2025-11-25 09:41:23.872945 | controller | make_keystone_kuttl_env: 2025-11-25 09:41:23.872990 | controller | BMO_SETUP: false 2025-11-25 09:41:23.873000 | controller | CHECKOUT_FROM_OPENSTACK_REF: 'true' 2025-11-25 09:41:23.873009 | controller | KEYSTONE_BRANCH: '' 2025-11-25 09:41:23.873017 | controller | KEYSTONE_IMG: 38.129.56.103:5001/openstack-k8s-operators/keystone-operator-index:aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 09:41:23.873026 | controller | KEYSTONE_REPO: /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 09:41:23.873034 | controller | KUBECONFIG: /home/zuul/.crc/machines/crc/kubeconfig 2025-11-25 09:41:23.873041 | controller | OPENSTACK_IMG: 38.129.56.103:5001/openstack-k8s-operators/openstack-operator-index:17b1faec894dfcad58164b52f38cf6acda76f9dc 2025-11-25 09:41:23.873049 | controller | OPENSTACK_K8S_BRANCH: main 2025-11-25 09:41:23.873057 | controller | OUT: /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 09:41:23.873064 | controller | OUTPUT_DIR: /home/zuul/ci-framework-data/artifacts/edpm 2025-11-25 09:41:23.873072 | controller | 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 09:41:23.873080 | controller | 2025-11-25 09:41:23.873088 | controller | TASK [install_yamls_makes : Debug make_keystone_kuttl_params var=make_keystone_kuttl_params] *** 2025-11-25 09:41:23.873096 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.045) 0:02:45.894 ****** 2025-11-25 09:41:23.873104 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.045) 0:02:45.893 ****** 2025-11-25 09:41:23.873123 | controller | skipping: [localhost] 2025-11-25 10:02:01.249790 | controller | 2025-11-25 10:02:01.249838 | controller | 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 10:02:01.249846 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.032) 0:02:45.927 ****** 2025-11-25 10:02:01.249853 | controller | Tuesday 25 November 2025 09:41:23 +0000 (0:00:00.032) 0:02:45.925 ****** 2025-11-25 10:02:01.249864 | controller | [WARNING]: conditional statements should not include jinja2 templating 2025-11-25 10:02:01.448502 | controller | delimiters such as {{ }} or {% %}. Found: {{ make_keystone_kuttl_until | 2025-11-25 10:02:01.448583 | controller | default(true) }} 2025-11-25 10:02:01.448637 | controller | Follow script's output here: /home/zuul/ci-framework-data/logs/ci_script_003_run_keystone.log 2025-11-25 10:02:01.448649 | controller | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NoneType: None 2025-11-25 10:02:01.448657 | controller | task path: /home/zuul/ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl.yml:10 2025-11-25 10:02:01.448665 | controller | fatal: [localhost]: FAILED! => 2025-11-25 10:02:01.448673 | controller | attempts: 1 2025-11-25 10:02:01.448681 | controller | changed: true 2025-11-25 10:02:01.448688 | controller | msg: non-zero return code 2025-11-25 10:02:01.448696 | controller | rc: 2 2025-11-25 10:02:01.448703 | controller | stderr: '' 2025-11-25 10:02:01.448709 | controller | stderr_lines: [] 2025-11-25 10:02:01.448716 | controller | stdout: "~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts\nerror: 2025-11-25 10:02:01.448722 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/gen-namespace.sh\n+ 2025-11-25 10:02:01.448728 | controller | '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']'\n+ '[' -z keystone-kuttl-tests 2025-11-25 10:02:01.448735 | controller | ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ 2025-11-25 10:02:01.448742 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 10:02:01.448750 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests\n+ 2025-11-25 10:02:01.448758 | controller | cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml\nnamespace/keystone-kuttl-tests 2025-11-25 10:02:01.448766 | controller | created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io 2025-11-25 10:02:01.448773 | controller | keystone-kuttl-tests); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nkeystone-kuttl-tests 2025-11-25 10:02:01.448787 | controller | \ Active\noc project keystone-kuttl-tests\nNow using project \"keystone-kuttl-tests\" 2025-11-25 10:02:01.448801 | controller | on server \"https://api.crc.testing:6443\".\nbash scripts/gen-input-kustomize.sh\n+ 2025-11-25 10:02:01.448816 | controller | OUT=/home/zuul/ci-framework-data/artifacts/manifests\n+ '[' -z keystone-kuttl-tests 2025-11-25 10:02:01.448825 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z 12345678 ']'\n+ '[' -z 1234567842 ']'\n+ 2025-11-25 10:02:01.448833 | controller | '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']'\n+ '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= 2025-11-25 10:02:01.448841 | controller | ']'\n+ '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']'\n+ '[' -z openstack ']'\n+ '[' 2025-11-25 10:02:01.448849 | controller | -z libvirt-secret ']'\n+ DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ 2025-11-25 10:02:01.448857 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.448865 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n+ 2025-11-25 10:02:01.448873 | controller | pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input\n~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.448919 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\noc get secret/osp-secret 2025-11-25 10:02:01.448929 | controller | || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.448937 | controller | | oc apply -f -\nError from server (NotFound): secrets \"osp-secret\" not found\nsecret/libvirt-secret 2025-11-25 10:02:01.448943 | controller | created\nsecret/octavia-ca-passphrase created\nsecret/osp-secret created\noc kustomize 2025-11-25 10:02:01.448949 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-11-25 10:02:01.448955 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.448961 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr' 2025-11-25 10:02:01.448967 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: 2025-11-25 10:02:01.448974 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator 2025-11-25 10:02:01.448981 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr\noc 2025-11-25 10:02:01.448989 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.448997 | controller | database if exists manila;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449005 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-11-25 10:02:01.449013 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449021 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr' 2025-11-25 10:02:01.449029 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: 2025-11-25 10:02:01.449046 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator 2025-11-25 10:02:01.449055 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr\noc 2025-11-25 10:02:01.449062 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-11-25 10:02:01.449070 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449077 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr' 2025-11-25 10:02:01.449084 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: 2025-11-25 10:02:01.449090 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator 2025-11-25 10:02:01.449096 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr\noc 2025-11-25 10:02:01.449102 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-11-25 10:02:01.449108 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449113 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr' 2025-11-25 10:02:01.449119 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: 2025-11-25 10:02:01.449128 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator 2025-11-25 10:02:01.449134 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr\noc 2025-11-25 10:02:01.449143 | controller | rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e \"show databases 2025-11-25 10:02:01.449149 | controller | like 'nova_%';\" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 2025-11-25 10:02:01.449156 | controller | -ss -e \"flush tables; drop database if exists {};\"\nError from server (NotFound): 2025-11-25 10:02:01.449162 | controller | pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-11-25 10:02:01.449175 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449181 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr' 2025-11-25 10:02:01.449187 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: 2025-11-25 10:02:01.449192 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis 2025-11-25 10:02:01.449198 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr\noc 2025-11-25 10:02:01.449204 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-11-25 10:02:01.449211 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449217 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr' 2025-11-25 10:02:01.449223 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: 2025-11-25 10:02:01.449229 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator 2025-11-25 10:02:01.449236 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr\noc 2025-11-25 10:02:01.449242 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449248 | controller | database if exists octavia;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449254 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-11-25 10:02:01.449259 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449265 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr' 2025-11-25 10:02:01.449271 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: 2025-11-25 10:02:01.449277 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator 2025-11-25 10:02:01.449282 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr\noc 2025-11-25 10:02:01.449288 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449294 | controller | database if exists designate;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449305 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-11-25 10:02:01.449311 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449317 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr' 2025-11-25 10:02:01.449323 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: 2025-11-25 10:02:01.449329 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator 2025-11-25 10:02:01.449335 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr\noc 2025-11-25 10:02:01.449344 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449350 | controller | database if exists neutron;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449356 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-11-25 10:02:01.449361 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449367 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr' 2025-11-25 10:02:01.449373 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: 2025-11-25 10:02:01.449379 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator 2025-11-25 10:02:01.449384 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr\noc 2025-11-25 10:02:01.449390 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-11-25 10:02:01.449396 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449402 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr' 2025-11-25 10:02:01.449407 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: 2025-11-25 10:02:01.449413 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator 2025-11-25 10:02:01.449419 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr\noc 2025-11-25 10:02:01.449425 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449430 | controller | database if exists ironic;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449436 | controller | not found\noc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush 2025-11-25 10:02:01.449442 | controller | tables; drop database if exists ironic_inspector;\" || true\nError from server (NotFound): 2025-11-25 10:02:01.449448 | controller | pods \"openstack-galera-0\" not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-11-25 10:02:01.449454 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449459 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr' 2025-11-25 10:02:01.449465 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: 2025-11-25 10:02:01.449471 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator 2025-11-25 10:02:01.449477 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr\noc 2025-11-25 10:02:01.449482 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449488 | controller | database if exists cinder;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449494 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-11-25 10:02:01.449499 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449580 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr' 2025-11-25 10:02:01.449602 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: 2025-11-25 10:02:01.449615 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator 2025-11-25 10:02:01.449625 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr\noc 2025-11-25 10:02:01.449631 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449641 | controller | database if exists glance;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449647 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-11-25 10:02:01.449655 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449663 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr' 2025-11-25 10:02:01.449670 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: 2025-11-25 10:02:01.449678 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator 2025-11-25 10:02:01.449686 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr\noc 2025-11-25 10:02:01.449694 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449718 | controller | database if exists placement;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449729 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-11-25 10:02:01.449737 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449746 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr' 2025-11-25 10:02:01.449754 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: 2025-11-25 10:02:01.449761 | controller | no such file or directory\nNo resources found\nrm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator 2025-11-25 10:02:01.449768 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr\noc 2025-11-25 10:02:01.449774 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-11-25 10:02:01.449781 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449787 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr' 2025-11-25 10:02:01.449794 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: 2025-11-25 10:02:01.449800 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator 2025-11-25 10:02:01.449807 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr\noc 2025-11-25 10:02:01.449812 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449819 | controller | database if exists barbican;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449826 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.449834 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449842 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr' 2025-11-25 10:02:01.449850 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: 2025-11-25 10:02:01.449858 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator 2025-11-25 10:02:01.449871 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\noc 2025-11-25 10:02:01.449879 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.449888 | controller | database if exists keystone;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.449896 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.449906 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449914 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr' 2025-11-25 10:02:01.449925 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: 2025-11-25 10:02:01.449933 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator 2025-11-25 10:02:01.449941 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\noc 2025-11-25 10:02:01.449949 | controller | kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 10:02:01.449956 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.449979 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr' 2025-11-25 10:02:01.449988 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: 2025-11-25 10:02:01.449995 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-11-25 10:02:01.450005 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\nrm 2025-11-25 10:02:01.450011 | controller | -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator 2025-11-25 10:02:01.450017 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr\noc 2025-11-25 10:02:01.450023 | controller | rsh -t openstack-galera-0 mysql -u root --password=12345678 -e \"flush tables; drop 2025-11-25 10:02:01.450029 | controller | database if exists aodh;\" || true\nError from server (NotFound): pods \"openstack-galera-0\" 2025-11-25 10:02:01.450036 | controller | not found\noc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.450043 | controller | | oc delete --ignore-not-found=true -f -\nerror: must build at directory: not a 2025-11-25 10:02:01.450049 | controller | valid directory: evalsymlink failure on '/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr' 2025-11-25 10:02:01.450056 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: 2025-11-25 10:02:01.450064 | controller | no such file or directory\nNo resources found\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator 2025-11-25 10:02:01.450072 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nif 2025-11-25 10:02:01.450080 | controller | oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster --all; 2025-11-25 10:02:01.450087 | controller | fi\nerror: the server doesn't have a resource type \"RabbitmqCluster\"\nrm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator 2025-11-25 10:02:01.450095 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-11-25 10:02:01.450105 | controller | scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 10:02:01.450113 | controller | ']'\n+ '[' -z openstack-operators ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ 2025-11-25 10:02:01.450121 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 10:02:01.450135 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators\n+ 2025-11-25 10:02:01.450143 | controller | cat\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml\nWarning: 2025-11-25 10:02:01.450150 | controller | resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 10:02:01.450158 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 10:02:01.450165 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 10:02:01.450173 | controller | annotation will be patched automatically.\nnamespace/openstack-operators configured\ntimeout 2025-11-25 10:02:01.450180 | controller | 500s bash -c \"while ! (oc get project.v1.project.openshift.io openstack-operators); 2025-11-25 10:02:01.450188 | controller | do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nopenstack-operators 2025-11-25 10:02:01.450195 | controller | \ Active\noc project openstack-operators\nNow using project \"openstack-operators\" 2025-11-25 10:02:01.450203 | controller | on server \"https://api.crc.testing:6443\".\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators 2025-11-25 10:02:01.450210 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest 2025-11-25 10:02:01.450217 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.450224 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.450231 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ 2025-11-25 10:02:01.450241 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=mariadb-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 10:02:01.450249 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\nOPERATOR_DIR 2025-11-25 10:02:01.450256 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op\n+ 2025-11-25 10:02:01.450263 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE mariadb-operator-index\nOPERATOR_SOURCE 2025-11-25 10:02:01.450269 | controller | mariadb-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 10:02:01.450289 | controller | 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 2025-11-25 10:02:01.450298 | controller | created\noperatorgroup.operators.coreos.com/openstack created\nsubscription.operators.coreos.com/mariadb-operator 2025-11-25 10:02:01.450305 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.450311 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash 2025-11-25 10:02:01.450317 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git 2025-11-25 10:02:01.450323 | controller | openstack-operator\nCloning into 'openstack-operator'...\nCloning repo: git clone 2025-11-25 10:02:01.450329 | controller | \ -b main https://github.com/openstack-k8s-operators/mariadb-operator.git mariadb-operator\nCloning 2025-11-25 10:02:01.450335 | controller | into 'mariadb-operator'...\nRunning checkout: git checkout 231c653930d1\nNote: switching 2025-11-25 10:02:01.450340 | controller | to '231c653930d1'.\n\nYou are in 'detached HEAD' state. You can look around, make 2025-11-25 10:02:01.450346 | controller | experimental\nchanges and commit them, and you can discard any commits you make 2025-11-25 10:02:01.450352 | controller | in this\nstate without impacting any branches by switching back to a branch.\n\nIf 2025-11-25 10:02:01.450361 | controller | you want to create a new branch to retain commits you create, you may\ndo so (now 2025-11-25 10:02:01.450367 | controller | or later) by using -c with the switch command. Example:\n\n git switch -c \n\nOr 2025-11-25 10:02:01.450373 | controller | undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config 2025-11-25 10:02:01.450379 | controller | variable advice.detachedHead to false\n\nHEAD is now at 231c653 Merge pull request 2025-11-25 10:02:01.450384 | controller | #379 from dciabrin/pwd-wsrep-notify\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 10:02:01.450390 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr\nbash 2025-11-25 10:02:01.450396 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 10:02:01.450402 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.450408 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.450413 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Galera ']'\n+ 2025-11-25 10:02:01.450419 | controller | '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.450425 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ 2025-11-25 10:02:01.450431 | controller | STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' 2025-11-25 10:02:01.450436 | controller | '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.450442 | controller | ']'\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 2025-11-25 10:02:01.450448 | controller | ~/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 2025-11-25 10:02:01.450454 | controller | ]]\n+ IFS=,\n+ read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 2025-11-25 10:02:01.450460 | controller | ']'\n+ (( i=0 ))\n+ (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ 2025-11-25 10:02:01.450466 | controller | '[' unused '!=' unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' Galera 2025-11-25 10:02:01.450472 | controller | == OpenStackControlPlane ']'\n+ '[' Galera == Galera ']'\n+ cat\n+ '[' Galera == 2025-11-25 10:02:01.450478 | controller | 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 2025-11-25 10:02:01.450485 | controller | ]]\n+ [[ Galera == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 10:02:01.450493 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 10:02:01.450501 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./mariadb_v1beta1_galera.yaml\n+ 2025-11-25 10:02:01.450510 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./mariadb_v1beta1_galera.yaml\n+ 2025-11-25 10:02:01.450518 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-11-25 10:02:01.450525 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 10:02:01.450533 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 10:02:01.450555 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 10:02:01.450563 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.450570 | controller | '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq ']'\n+ 2025-11-25 10:02:01.450580 | controller | pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.450586 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 10:02:01.450611 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 10:02:01.450617 | controller | '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster 2025-11-25 10:02:01.450623 | controller | ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.450629 | controller | deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 10:02:01.450635 | controller | from server (NotFound): deployments.apps \"mariadb-operator-controller-manager\" 2025-11-25 10:02:01.450640 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.450646 | controller | ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-11-25 10:02:01.450652 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-11-25 10:02:01.450658 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.450664 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.450669 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 10:02:01.450675 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 10:02:01.450681 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.450687 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.450693 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.450698 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 10:02:01.450704 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 10:02:01.450710 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.450716 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.450721 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.450727 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 10:02:01.450733 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 10:02:01.450738 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.450744 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.450750 | controller | \"mariadb-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.450756 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb 2025-11-25 10:02:01.450761 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get 2025-11-25 10:02:01.450769 | controller | -n openstack-operators deployment mariadb-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.450775 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-11-25 10:02:01.450781 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster 2025-11-25 10:02:01.450787 | controller | ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.450793 | controller | deployment mariadb-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 10:02:01.450801 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-11-25 10:02:01.450807 | controller | '[' -z mariadb ']'\n+ '[' mariadb = rabbitmq-cluster ']'\n+ DEPL_NAME=mariadb-operator-controller-manager\n++ 2025-11-25 10:02:01.450813 | controller | oc get -n openstack-operators deployment mariadb-operator-controller-manager -o 2025-11-25 10:02:01.450820 | controller | json\n++ jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo 2025-11-25 10:02:01.450826 | controller | Succeeded\n+ exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-11-25 10:02:01.450832 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-11-25 10:02:01.450838 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.450855 | controller | ']'\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+ 2025-11-25 10:02:01.450861 | controller | oc apply -f -\ngalera.mariadb.openstack.org/openstack created\n+ '[' 0 -lt 15 ']'\nbash 2025-11-25 10:02:01.450868 | controller | scripts/gen-namespace.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 10:02:01.450874 | controller | ']'\n+ '[' -z metallb-system ']'\n+ OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ 2025-11-25 10:02:01.450880 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']'\n+ 2025-11-25 10:02:01.450886 | controller | mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system\n+ cat\noc 2025-11-25 10:02:01.450892 | controller | apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml\nnamespace/metallb-system 2025-11-25 10:02:01.450898 | controller | created\ntimeout 500s bash -c \"while ! (oc get project.v1.project.openshift.io 2025-11-25 10:02:01.450904 | controller | metallb-system); do sleep 1; done\"\nNAME DISPLAY NAME STATUS\nmetallb-system 2025-11-25 10:02:01.450910 | controller | \ Active\nbash scripts/gen-olm-metallb.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.450915 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.450921 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ 2025-11-25 10:02:01.450927 | controller | '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.450933 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.450939 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ 2025-11-25 10:02:01.450944 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\nOPERATOR_DIR 2025-11-25 10:02:01.450950 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op\n+ 2025-11-25 10:02:01.450958 | controller | echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\nDEPLOY_DIR 2025-11-25 10:02:01.450964 | controller | /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr\n+ echo 2025-11-25 10:02:01.450969 | controller | 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 2025-11-25 10:02:01.450975 | controller | created\nsubscription.operators.coreos.com/metallb-operator-sub created\ntimeout 2025-11-25 10:02:01.450981 | controller | 500s bash -c \"while ! (oc get pod --no-headers=true -l control-plane=controller-manager 2025-11-25 10:02:01.450987 | controller | -n metallb-system| grep metallb-operator-controller); do sleep 10; done\"\nNo resources 2025-11-25 10:02:01.450996 | controller | found in metallb-system namespace.\nNo resources found in metallb-system namespace.\nmetallb-operator-controller-manager-664f78b8b-n7g4f 2025-11-25 10:02:01.451002 | controller | \ 0/1 ContainerCreating 0 3s\noc wait pod -n metallb-system --for condition=Ready 2025-11-25 10:02:01.451008 | controller | -l control-plane=controller-manager --timeout=500s\npod/metallb-operator-controller-manager-664f78b8b-n7g4f 2025-11-25 10:02:01.451014 | controller | condition met\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=webhook-server 2025-11-25 10:02:01.451019 | controller | -n metallb-system| grep metallb-operator-webhook); do sleep 10; done\"\nmetallb-operator-webhook-server-75bd4c87d6-fr76c 2025-11-25 10:02:01.451025 | controller | \ 1/1 Running 0 41s\noc wait pod -n metallb-system --for condition=Ready 2025-11-25 10:02:01.451032 | controller | -l component=webhook-server --timeout=500s\npod/metallb-operator-webhook-server-75bd4c87d6-fr76c 2025-11-25 10:02:01.451039 | controller | condition met\noc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml\nmetallb.metallb.io/metallb 2025-11-25 10:02:01.451047 | controller | created\ntimeout 500s bash -c \"while ! (oc get pod --no-headers=true -l component=speaker 2025-11-25 10:02:01.451054 | controller | -n metallb-system | grep speaker); do sleep 10; done\"\nNo resources found in metallb-system 2025-11-25 10:02:01.451061 | controller | namespace.\nspeaker-j6bv7 1/2 Running 0 10s\noc wait pod -n metallb-system 2025-11-25 10:02:01.451068 | controller | -l component=speaker --for condition=Ready --timeout=500s\npod/speaker-j6bv7 condition 2025-11-25 10:02:01.451074 | controller | met\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ 2025-11-25 10:02:01.451081 | controller | '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']'\n+ '[' -z 2025-11-25 10:02:01.451088 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op ']'\n+ 2025-11-25 10:02:01.451246 | controller | '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.451254 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ 2025-11-25 10:02:01.451260 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=infra-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 10:02:01.451265 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\nOPERATOR_DIR 2025-11-25 10:02:01.451271 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op\n+ 2025-11-25 10:02:01.451277 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE infra-operator-index\nOPERATOR_SOURCE 2025-11-25 10:02:01.451283 | controller | infra-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 10:02:01.451289 | controller | 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 2025-11-25 10:02:01.451294 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/infra-operator 2025-11-25 10:02:01.451300 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.451306 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash 2025-11-25 10:02:01.451312 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git 2025-11-25 10:02:01.451318 | controller | infra-operator\nCloning into 'infra-operator'...\nRunning checkout: git checkout 2025-11-25 10:02:01.451323 | controller | 038f0cf579da\nNote: switching to '038f0cf579da'.\n\nYou are in 'detached HEAD' state. 2025-11-25 10:02:01.451333 | controller | You can look around, make experimental\nchanges and commit them, and you can discard 2025-11-25 10:02:01.451338 | controller | any commits you make in this\nstate without impacting any branches by switching 2025-11-25 10:02:01.451344 | controller | back to a branch.\n\nIf you want to create a new branch to retain commits you create, 2025-11-25 10:02:01.451352 | controller | you may\ndo so (now or later) by using -c with the switch command. Example:\n\n 2025-11-25 10:02:01.451358 | controller | \ git switch -c \n\nOr undo this operation with:\n\n git switch 2025-11-25 10:02:01.451363 | controller | -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\nHEAD 2025-11-25 10:02:01.451369 | controller | 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 2025-11-25 10:02:01.451375 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr\nbash 2025-11-25 10:02:01.451381 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 10:02:01.451387 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.451392 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.451398 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z Memcached 2025-11-25 10:02:01.451404 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.451410 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ 2025-11-25 10:02:01.451415 | controller | STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' 2025-11-25 10:02:01.451421 | controller | '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.451427 | controller | ']'\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 2025-11-25 10:02:01.451433 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ Memcached == 2025-11-25 10:02:01.451439 | controller | \\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 2025-11-25 10:02:01.451444 | controller | -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-11-25 10:02:01.451450 | controller | (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' 2025-11-25 10:02:01.451456 | controller | unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n memcached ']'\n+ cat\n+ '[' Memcached 2025-11-25 10:02:01.451462 | controller | == OpenStackControlPlane ']'\n+ '[' Memcached == Galera ']'\n+ '[' Memcached == 2025-11-25 10:02:01.451467 | controller | 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 2025-11-25 10:02:01.451473 | controller | ]]\n+ [[ Memcached == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 10:02:01.451487 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 10:02:01.451493 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./memcached_v1beta1_memcached.yaml\n+ 2025-11-25 10:02:01.451499 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./memcached_v1beta1_memcached.yaml\n+ 2025-11-25 10:02:01.451505 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-11-25 10:02:01.451511 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 10:02:01.451517 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 10:02:01.451523 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 10:02:01.451532 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.451538 | controller | '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq ']'\n+ 2025-11-25 10:02:01.451544 | controller | pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.451549 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 10:02:01.451555 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 10:02:01.451561 | controller | '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 10:02:01.451567 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.451572 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 10:02:01.451578 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-11-25 10:02:01.451584 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.451609 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 10:02:01.451619 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.451625 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.451631 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-11-25 10:02:01.451638 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 10:02:01.451644 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.451650 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 10:02:01.451657 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-11-25 10:02:01.451663 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.451669 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 10:02:01.451675 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.451680 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.451686 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-11-25 10:02:01.451694 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 10:02:01.451701 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.451709 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 10:02:01.451716 | controller | from server (NotFound): deployments.apps \"infra-operator-controller-manager\" not 2025-11-25 10:02:01.451723 | controller | found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.451730 | controller | ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 10:02:01.451738 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.451746 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.451753 | controller | \"infra-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ 2025-11-25 10:02:01.451760 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster 2025-11-25 10:02:01.451769 | controller | ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.451775 | controller | deployment infra-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 10:02:01.451781 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-11-25 10:02:01.451797 | controller | '[' -z infra ']'\n+ '[' infra = rabbitmq-cluster ']'\n+ DEPL_NAME=infra-operator-controller-manager\n++ 2025-11-25 10:02:01.451803 | controller | oc get -n openstack-operators deployment infra-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.451809 | controller | jq -e .status.availableReplicas\n+ REPLICAS=1\n+ '[' 1 '!=' 1 ']'\n+ echo Succeeded\n+ 2025-11-25 10:02:01.451815 | controller | exit 0\n+ rc=0\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\n+ 2025-11-25 10:02:01.451820 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-11-25 10:02:01.451826 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.451832 | controller | ']'\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+ 2025-11-25 10:02:01.451838 | controller | oc apply -f -\nmemcached.memcached.openstack.org/memcached created\n+ '[' 0 -lt 2025-11-25 10:02:01.451844 | controller | 15 ']'\nbash scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 10:02:01.451850 | controller | ']'\n+ '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-11-25 10:02:01.451855 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.451862 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.451868 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ 2025-11-25 10:02:01.451874 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=rabbitmq-cluster-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 10:02:01.451880 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\nOPERATOR_DIR 2025-11-25 10:02:01.451885 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op\n+ 2025-11-25 10:02:01.451891 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE rabbitmq-cluster-operator-index\nOPERATOR_SOURCE 2025-11-25 10:02:01.451897 | controller | rabbitmq-cluster-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 10:02:01.451903 | controller | 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 2025-11-25 10:02:01.451909 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/rabbitmq-cluster-operator 2025-11-25 10:02:01.451915 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op 2025-11-25 10:02:01.451921 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-11-25 10:02:01.451927 | controller | -c \"CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh\"\nCloning 2025-11-25 10:02:01.451933 | controller | repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-11-25 10:02:01.451938 | controller | rabbitmq-operator\nCloning into 'rabbitmq-operator'...\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 10:02:01.451951 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr\nbash 2025-11-25 10:02:01.451957 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 10:02:01.451963 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.451968 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.451974 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z RabbitmqCluster 2025-11-25 10:02:01.451980 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.451986 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=image\n+ STORAGE_REQUEST=10G\n+ 2025-11-25 10:02:01.451992 | controller | 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 2025-11-25 10:02:01.451997 | controller | ']'\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 2025-11-25 10:02:01.452011 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ RabbitmqCluster 2025-11-25 10:02:01.452017 | controller | == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ 2025-11-25 10:02:01.452023 | controller | read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-11-25 10:02:01.452029 | controller | (( i < 1 ))\n+ SPEC_PATH=image\n+ SPEC_VALUE=unused\n+ '[' unused '!=' unused ']'\n+ 2025-11-25 10:02:01.452035 | controller | (( i++ ))\n+ (( i < 1 ))\n+ '[' -n rabbitmq ']'\n+ cat\n+ '[' RabbitmqCluster == 2025-11-25 10:02:01.452040 | controller | OpenStackControlPlane ']'\n+ '[' RabbitmqCluster == Galera ']'\n+ '[' RabbitmqCluster 2025-11-25 10:02:01.452046 | controller | == 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 2025-11-25 10:02:01.452052 | controller | ]]\n+ [[ RabbitmqCluster == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 10:02:01.452058 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 10:02:01.452063 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./rabbitmq.yaml\n+ 2025-11-25 10:02:01.452069 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./rabbitmq.yaml\n+ popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake 2025-11-25 10:02:01.452075 | controller | wait\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 10:02:01.452081 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 10:02:01.452088 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 10:02:01.452095 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.452101 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq ']'\n+ '[' rabbitmq = rabbitmq 2025-11-25 10:02:01.452106 | controller | ']'\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 2025-11-25 10:02:01.452112 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 10:02:01.452118 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 10:02:01.452124 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster 2025-11-25 10:02:01.452130 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators 2025-11-25 10:02:01.452139 | controller | deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 10:02:01.452144 | controller | from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ 2025-11-25 10:02:01.452150 | controller | REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' 2025-11-25 10:02:01.452156 | controller | -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 10:02:01.452162 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 10:02:01.452167 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 10:02:01.452173 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.452179 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 10:02:01.452185 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 10:02:01.452190 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 10:02:01.452196 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 10:02:01.452202 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 10:02:01.452208 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 10:02:01.452213 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 10:02:01.452219 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 10:02:01.452225 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.452231 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 10:02:01.452237 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 10:02:01.452242 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 10:02:01.452248 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 10:02:01.452254 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 10:02:01.452267 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 10:02:01.452273 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 10:02:01.452280 | controller | -e .status.availableReplicas\nError from server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" 2025-11-25 10:02:01.452286 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.452293 | controller | ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ 2025-11-25 10:02:01.452299 | controller | DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators deployment 2025-11-25 10:02:01.452305 | controller | rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\nError from 2025-11-25 10:02:01.452311 | controller | server (NotFound): deployments.apps \"rabbitmq-cluster-operator\" not found\n+ REPLICAS=\n+ 2025-11-25 10:02:01.452316 | controller | '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster 2025-11-25 10:02:01.452322 | controller | ']'\n+ '[' rabbitmq-cluster = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ 2025-11-25 10:02:01.452328 | controller | oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json\n++ jq 2025-11-25 10:02:01.452334 | controller | -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ 2025-11-25 10:02:01.452339 | controller | '[' -z openstack-operators ']'\n+ '[' -z rabbitmq-cluster ']'\n+ '[' rabbitmq-cluster 2025-11-25 10:02:01.452348 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=rabbitmq-cluster-operator\n++ oc get -n openstack-operators 2025-11-25 10:02:01.452354 | controller | deployment rabbitmq-cluster-operator -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 10:02:01.452548 | controller | 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+ 2025-11-25 10:02:01.452559 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nbash 2025-11-25 10:02:01.452566 | controller | scripts/operator-deploy-resources.sh\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.452571 | controller | ']'\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+ 2025-11-25 10:02:01.452579 | controller | oc apply -f -\nrabbitmqcluster.rabbitmq.com/rabbitmq created\n+ '[' 0 -lt 15 ']'\nbash 2025-11-25 10:02:01.452585 | controller | scripts/gen-olm.sh\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' 2025-11-25 10:02:01.452608 | controller | -z 38.129.56.103:5001/openstack-k8s-operators/keystone-operator-index:aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 10:02:01.452614 | controller | ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.452620 | controller | ']'\n+ '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.452626 | controller | ']'\n+ mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ 2025-11-25 10:02:01.452632 | controller | OPERATOR_CHANNEL=alpha\n+ OPERATOR_SOURCE=keystone-operator-index\n+ OPERATOR_SOURCE_NAMESPACE=openstack-operators\n+ 2025-11-25 10:02:01.452638 | controller | echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\nOPERATOR_DIR 2025-11-25 10:02:01.452644 | controller | /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op\n+ 2025-11-25 10:02:01.452649 | controller | echo OPERATOR_CHANNEL alpha\nOPERATOR_CHANNEL alpha\n+ echo OPERATOR_SOURCE keystone-operator-index\nOPERATOR_SOURCE 2025-11-25 10:02:01.452655 | controller | keystone-operator-index\n+ echo OPERATOR_SOURCE_NAMESPACE openstack-operators\nOPERATOR_SOURCE_NAMESPACE 2025-11-25 10:02:01.452661 | controller | 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 2025-11-25 10:02:01.452667 | controller | created\noperatorgroup.operators.coreos.com/openstack unchanged\nsubscription.operators.coreos.com/keystone-operator 2025-11-25 10:02:01.452673 | controller | created\nmkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.452679 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash 2025-11-25 10:02:01.452684 | controller | scripts/clone-operator-repo.sh\nCloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 10:02:01.452690 | controller | keystone-operator\nCloning into 'keystone-operator'...\ndone.\ncp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 10:02:01.452706 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr\nbash 2025-11-25 10:02:01.452713 | controller | scripts/gen-service-kustomize.sh\n+++ dirname scripts/gen-service-kustomize.sh\n++ 2025-11-25 10:02:01.452718 | controller | cd scripts\n++ pwd -P\n+ SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.452724 | controller | . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.452730 | controller | --source-only\n++ set -e\n+ '[' -z keystone-kuttl-tests ']'\n+ '[' -z KeystoneAPI 2025-11-25 10:02:01.452740 | controller | ']'\n+ '[' -z osp-secret ']'\n+ '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.452746 | controller | ']'\n+ '[' -n '' ']'\n+ REPLACEMENTS=\n+ IMAGE=unused\n+ IMAGE_PATH=containerImage\n+ 2025-11-25 10:02:01.452752 | controller | STORAGE_REQUEST=10G\n+ INTERFACE_MTU=1500\n+ VLAN_START=20\n+ VLAN_STEP=1\n+ '[' 2025-11-25 10:02:01.452757 | controller | '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.452763 | controller | ']'\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 2025-11-25 10:02:01.452769 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ cat\n+ [[ KeystoneAPI 2025-11-25 10:02:01.452775 | controller | == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e ]]\n+ IFS=,\n+ 2025-11-25 10:02:01.452781 | controller | read -ra IMAGES\n+ IFS=,\n+ read -ra IMAGE_PATHS\n+ '[' 1 '!=' 1 ']'\n+ (( i=0 ))\n+ 2025-11-25 10:02:01.452788 | controller | (( i < 1 ))\n+ SPEC_PATH=containerImage\n+ SPEC_VALUE=unused\n+ '[' unused '!=' 2025-11-25 10:02:01.452796 | controller | unused ']'\n+ (( i++ ))\n+ (( i < 1 ))\n+ '[' -n '' ']'\n+ '[' KeystoneAPI == OpenStackControlPlane 2025-11-25 10:02:01.452804 | controller | ']'\n+ '[' KeystoneAPI == Galera ']'\n+ '[' KeystoneAPI == NetConfig ']'\n+ '[' 2025-11-25 10:02:01.452832 | controller | -n '' ']'\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 10:02:01.452841 | controller | ]]\n+ [[ KeystoneAPI == \\O\\p\\e\\n\\S\\t\\a\\c\\k\\C\\o\\n\\t\\r\\o\\l\\P\\l\\a\\n\\e 2025-11-25 10:02:01.452848 | controller | ]]\n+ '[' -n '' ']'\n+ kustomization_add_resources\n+ echo merge config dir\nmerge 2025-11-25 10:02:01.452856 | controller | config dir\n++ find . -type f -name '*.yaml'\n++ grep -v kustomization\n+ yamls=./keystone_v1beta1_keystoneapi.yaml\n+ 2025-11-25 10:02:01.452863 | controller | for y in ${yamls[@]}\n+ kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml\n+ 2025-11-25 10:02:01.452869 | controller | popd\n~/src/github.com/openstack-k8s-operators/install_yamls\nmake wait\nmake[1]: 2025-11-25 10:02:01.452875 | controller | Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 10:02:01.452881 | controller | the server doesn't have a resource type \"openstackversion\"\nbash scripts/operator-wait.sh\n+ 2025-11-25 10:02:01.452888 | controller | TIMEOUT=500s\n+++ dirname scripts/operator-wait.sh\n++ cd scripts\n++ pwd -P\n+ 2025-11-25 10:02:01.452895 | controller | SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n+ 2025-11-25 10:02:01.452905 | controller | '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq 2025-11-25 10:02:01.452912 | controller | ']'\n+ pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts\n~/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.452921 | controller | ~/src/github.com/openstack-k8s-operators/install_yamls\n+ timeout 500s bash -c 'until 2025-11-25 10:02:01.452930 | controller | [ \"$(bash ./get-operator-status.sh)\" == \"Succeeded\" ]; do sleep 5; done'\n+ 2025-11-25 10:02:01.452937 | controller | '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster 2025-11-25 10:02:01.452944 | controller | ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.452952 | controller | deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\nError 2025-11-25 10:02:01.452959 | controller | from server (NotFound): deployments.apps \"keystone-operator-controller-manager\" 2025-11-25 10:02:01.452967 | controller | not found\n+ REPLICAS=\n+ '[' '' '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators 2025-11-25 10:02:01.452974 | controller | ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ 2025-11-25 10:02:01.452986 | controller | oc get -n openstack-operators deployment keystone-operator-controller-manager -o 2025-11-25 10:02:01.452994 | controller | json\n++ jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.453001 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.453012 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 10:02:01.453018 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 10:02:01.453024 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.453040 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.453046 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.453052 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 10:02:01.453058 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 10:02:01.453064 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.453070 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.453075 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.453081 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 10:02:01.453087 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 10:02:01.453092 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.453098 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.453104 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.453110 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 10:02:01.453115 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 10:02:01.453121 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.453127 | controller | jq -e .status.availableReplicas\nError from server (NotFound): deployments.apps 2025-11-25 10:02:01.453132 | controller | \"keystone-operator-controller-manager\" not found\n+ REPLICAS=\n+ '[' '' '!=' 1 2025-11-25 10:02:01.453138 | controller | ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 10:02:01.453144 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 10:02:01.453150 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.453155 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-11-25 10:02:01.453161 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster 2025-11-25 10:02:01.453167 | controller | ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.453173 | controller | deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 10:02:01.453178 | controller | REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 1\n+ '[' -z openstack-operators ']'\n+ 2025-11-25 10:02:01.453184 | controller | '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ 2025-11-25 10:02:01.453190 | controller | oc get -n openstack-operators deployment keystone-operator-controller-manager -o 2025-11-25 10:02:01.453196 | controller | json\n++ jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ 2025-11-25 10:02:01.453204 | controller | exit 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone 2025-11-25 10:02:01.453210 | controller | = rabbitmq-cluster ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc 2025-11-25 10:02:01.453216 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o json\n++ 2025-11-25 10:02:01.453224 | controller | jq -e .status.availableReplicas\n+ REPLICAS=null\n+ '[' null '!=' 1 ']'\n+ exit 2025-11-25 10:02:01.453230 | controller | 1\n+ '[' -z openstack-operators ']'\n+ '[' -z keystone ']'\n+ '[' keystone = rabbitmq-cluster 2025-11-25 10:02:01.453236 | controller | ']'\n+ DEPL_NAME=keystone-operator-controller-manager\n++ oc get -n openstack-operators 2025-11-25 10:02:01.453241 | controller | deployment keystone-operator-controller-manager -o json\n++ jq -e .status.availableReplicas\n+ 2025-11-25 10:02:01.453247 | controller | 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+ 2025-11-25 10:02:01.453253 | controller | exit 0\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake 2025-11-25 10:02:01.453259 | controller | keystone_kuttl_run\nmake[1]: Entering directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nerror: 2025-11-25 10:02:01.453265 | controller | 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 2025-11-25 10:02:01.453271 | controller | kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-11-25 10:02:01.453276 | controller | /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.453282 | controller | --namespace keystone-kuttl-tests \n2025/11/25 09:45:58 kutt-test config testdirs 2025-11-25 10:02:01.453295 | controller | is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.453301 | controller | ]\n=== RUN kuttl\n harness.go:463: starting setup\n harness.go:255: running 2025-11-25 10:02:01.453307 | controller | tests using configured kubeconfig.\n harness.go:278: Successful connection to 2025-11-25 10:02:01.453313 | controller | cluster at: https://api.crc.testing:6443\n harness.go:363: running tests\n harness.go:75: 2025-11-25 10:02:01.453319 | controller | going to run test suite with timeout of 800 seconds for each step\n harness.go:375: 2025-11-25 10:02:01.453325 | controller | testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.453330 | controller | has 5 tests\n=== RUN kuttl/harness\n=== RUN kuttl/harness/change_keystone_config\n=== 2025-11-25 10:02:01.453339 | controller | PAUSE kuttl/harness/change_keystone_config\n=== RUN kuttl/harness/fernet_rotation\n=== 2025-11-25 10:02:01.453345 | controller | PAUSE kuttl/harness/fernet_rotation\n=== RUN kuttl/harness/keystone_resources\n=== 2025-11-25 10:02:01.453350 | controller | PAUSE kuttl/harness/keystone_resources\n=== RUN kuttl/harness/keystone_scale\n=== 2025-11-25 10:02:01.453356 | controller | PAUSE kuttl/harness/keystone_scale\n=== RUN kuttl/harness/keystone_tls\n=== PAUSE 2025-11-25 10:02:01.453362 | controller | kuttl/harness/keystone_tls\n=== CONT kuttl/harness/change_keystone_config\n logger.go:42: 2025-11-25 10:02:01.453368 | controller | 09:45:58 | change_keystone_config | Skipping creation of user-supplied namespace: 2025-11-25 10:02:01.453374 | controller | keystone-kuttl-tests\n logger.go:42: 09:45:58 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.453379 | controller | | starting test step 0-deploy_keystone\n logger.go:42: 09:45:58 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.453385 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 09:45:58 2025-11-25 10:02:01.453391 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.453397 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.453405 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.453411 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.453417 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.453422 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.453428 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.453434 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.453440 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.453446 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.453451 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.453457 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.453463 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.453469 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.453474 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.453486 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.453491 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.453498 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.453529 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.453542 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.453549 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.453555 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.453561 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:45:58 2025-11-25 10:02:01.453567 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.453572 | controller | do not match regex\n logger.go:42: 09:45:59 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.453578 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.453622 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.453636 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.453644 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.453651 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.453657 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.453667 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.453673 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.453683 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.453689 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.453695 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.453701 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.453707 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.453712 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.453724 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.453730 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.453735 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.453741 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.453747 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.453753 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.453758 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.453764 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:45:59 2025-11-25 10:02:01.453770 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.453778 | controller | do not match regex\n logger.go:42: 09:46:00 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.453784 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.453790 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.453796 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.453802 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.453807 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.453813 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.453819 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.453825 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.453831 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.453836 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.453842 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.453848 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.453854 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.453859 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.453871 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.453884 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.453899 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.453906 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.453912 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.453918 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.453923 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.453929 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:00 2025-11-25 10:02:01.453935 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.453941 | controller | do not match regex\n logger.go:42: 09:46:01 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.453946 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.453952 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.453958 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.453964 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.453969 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.453975 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.453981 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.453993 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.453999 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454005 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454010 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454016 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454022 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.454028 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.454039 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.454045 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.454051 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.454056 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.454062 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.454068 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.454074 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.454079 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:02 2025-11-25 10:02:01.454088 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.454094 | controller | do not match regex\n logger.go:42: 09:46:03 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.454099 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.454105 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.454111 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.454117 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.454123 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.454128 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.454134 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.454140 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.454146 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454151 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454165 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454171 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454177 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.454183 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.454197 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.454203 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.454209 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.454215 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.454220 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.454226 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.454232 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.454237 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:03 2025-11-25 10:02:01.454243 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.454249 | controller | do not match regex\n logger.go:42: 09:46:04 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.454255 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.454260 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.454266 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.454272 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.454278 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.454286 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.454292 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.454298 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.454306 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454312 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454318 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454323 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454329 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.454335 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.454346 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.454352 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.454358 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.454364 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.454369 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.454375 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.454381 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.454387 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:04 2025-11-25 10:02:01.454392 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.454400 | controller | do not match regex\n logger.go:42: 09:46:05 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.454406 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.454412 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.454425 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.454432 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.454438 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.454443 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.454449 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.454455 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.454461 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454466 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454472 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454478 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454484 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.454502 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.454524 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.454532 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.454540 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.454546 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.454552 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.454558 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.454564 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.454570 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:05 2025-11-25 10:02:01.454575 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.454581 | controller | do not match regex\n logger.go:42: 09:46:06 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.454587 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.454612 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.454618 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.454628 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.454634 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.454640 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.454645 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.454651 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.454657 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454665 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454671 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454677 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454683 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.454688 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.454700 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.454706 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.454711 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.454717 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.454734 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.454743 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.454749 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.454755 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:06 2025-11-25 10:02:01.454761 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.454767 | controller | do not match regex\n logger.go:42: 09:46:07 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.454772 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.454778 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.454784 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.454789 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.454795 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.454801 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.454807 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.454812 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.454818 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454824 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454830 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454835 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454841 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.454847 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.454858 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.454864 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.454870 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.454875 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.454881 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.454887 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.454893 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.454898 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:07 2025-11-25 10:02:01.454904 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.454910 | controller | do not match regex\n logger.go:42: 09:46:08 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.454916 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.454921 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.454927 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.454935 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.454941 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.454947 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.454953 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.454958 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.454964 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.454970 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.454976 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.454992 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.454998 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.455004 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.455015 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.455021 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.455027 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.455033 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.455040 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.455057 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.455066 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.455072 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:09 2025-11-25 10:02:01.455078 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.455088 | controller | do not match regex\n logger.go:42: 09:46:10 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.455094 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.455100 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.455105 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.455111 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.455118 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.455123 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.455129 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.455135 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.455141 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.455146 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.455156 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.455161 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.455167 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.455173 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.455184 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.455190 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.455196 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.455201 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.455207 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.455213 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.455219 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.455224 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:10 2025-11-25 10:02:01.455230 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.455236 | controller | do not match regex\n logger.go:42: 09:46:11 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.455241 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.455247 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.455253 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.455270 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.455277 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.455283 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.455289 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.455294 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.455300 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.455306 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.455312 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.455317 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.455323 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.455329 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.455343 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.455349 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.455355 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.455366 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.455372 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.455378 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.455383 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.455389 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:11 2025-11-25 10:02:01.455395 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.455401 | controller | do not match regex\n logger.go:42: 09:46:12 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.455406 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.455412 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.455418 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.455423 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.455429 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.455435 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.455441 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.455446 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.455452 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.455458 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.455464 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.455469 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.455475 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.455481 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.455496 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.455501 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.455507 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.455513 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.455519 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.455532 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.455539 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.455545 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:12 2025-11-25 10:02:01.455551 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.455557 | controller | do not match regex\n logger.go:42: 09:46:13 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.455566 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.455573 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.455583 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.455621 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.455628 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.455634 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.455640 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.455646 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.455652 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.455657 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.455663 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.455669 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.455675 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.455680 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.455700 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.455708 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.455716 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.455723 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.455731 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.455738 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.455744 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.455750 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:13 2025-11-25 10:02:01.455756 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.455765 | controller | do not match regex\n logger.go:42: 09:46:14 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.455771 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.455777 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.455783 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.455789 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.455795 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.455800 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.455806 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.455815 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.455821 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.455827 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.455833 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.455839 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.455856 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.455863 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.455875 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.455881 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.455886 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.455892 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.455898 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.455904 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.455909 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.455915 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:14 2025-11-25 10:02:01.455921 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.455927 | controller | do not match regex\n logger.go:42: 09:46:15 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.455932 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.455938 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.455945 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.455958 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.455972 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.455978 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.455984 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.455989 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.455995 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456001 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.456007 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.456012 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.456018 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.456024 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.456040 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.456046 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.456052 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.456061 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.456069 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.456077 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.456084 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.456091 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:16 2025-11-25 10:02:01.456097 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.456103 | controller | do not match regex\n logger.go:42: 09:46:17 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.456109 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.456115 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.456120 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.456126 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.456143 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.456150 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.456156 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.456162 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.456168 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456174 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.456180 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.456185 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.456191 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.456197 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.456208 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.456214 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.456220 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.456227 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.456247 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.456259 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.456265 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.456275 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:17 2025-11-25 10:02:01.456281 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.456287 | controller | do not match regex\n logger.go:42: 09:46:18 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.456293 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.456298 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.456304 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.456310 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.456317 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.456323 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.456329 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.456334 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.456340 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456346 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.456352 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.456357 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.456363 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.456369 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.456380 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.456386 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.456392 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.456398 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.456403 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.456412 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.456429 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.456435 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:18 2025-11-25 10:02:01.456441 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.456450 | controller | do not match regex\n logger.go:42: 09:46:19 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.456456 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.456461 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.456467 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.456473 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.456481 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.456488 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.456494 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.456500 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.456505 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456511 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.456517 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.456523 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.456528 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.456534 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.456546 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.456551 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.456557 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.456564 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.456569 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.456575 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.456581 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.456586 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:19 2025-11-25 10:02:01.456611 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.456617 | controller | do not match regex\n logger.go:42: 09:46:20 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.456623 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.456629 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.456634 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.456640 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.456646 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.456652 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.456657 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.456663 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.456669 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456674 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.456680 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.456686 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.456695 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.456709 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.456721 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.456727 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.456733 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.456739 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.456745 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.456750 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.456759 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.456765 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:20 2025-11-25 10:02:01.456771 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.456776 | controller | do not match regex\n logger.go:42: 09:46:21 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.456782 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.456788 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.456794 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.456799 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.456805 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.456811 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.456817 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.456822 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.456828 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456834 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.456840 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.456845 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.456851 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.456857 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.456868 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.456874 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.456880 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.456886 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.456898 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.456905 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.456911 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.456918 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:22 2025-11-25 10:02:01.456925 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.456931 | controller | do not match regex\n logger.go:42: 09:46:23 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.456936 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.456942 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.456948 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.456954 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.456959 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.456972 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.456978 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.456984 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.456990 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.456996 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457002 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457007 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457013 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457019 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457030 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457036 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457042 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457048 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.457053 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.457059 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.457065 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.457074 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:23 2025-11-25 10:02:01.457079 | controller | | change_keystone_config/0-deploy_keystone | Endpoints URLS: : 2025-11-25 10:02:01.457087 | controller | do not match regex\n logger.go:42: 09:46:24 | change_keystone_config/0-deploy_keystone 2025-11-25 10:02:01.457093 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.457099 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.457108 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.457113 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.457119 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.457125 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.457131 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.457136 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.457142 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.457148 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457153 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457159 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457165 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457171 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457182 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457188 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457194 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457199 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.457205 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.457211 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.457217 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.457232 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:25 2025-11-25 10:02:01.457240 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.457248 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.457254 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.457260 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.457266 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.457272 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.457278 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.457283 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.457289 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.457296 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.457302 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457310 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457316 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457322 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457328 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457339 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457345 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457351 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457357 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.457362 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.457368 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.457374 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.457380 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:26 2025-11-25 10:02:01.457388 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.457394 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.457400 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.457406 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.457411 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.457417 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.457423 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.457429 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.457434 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.457440 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.457446 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457452 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457458 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457463 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457469 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457481 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457486 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457500 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457506 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.457533 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.457539 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.457545 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.457551 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:27 2025-11-25 10:02:01.457557 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.457563 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.457568 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.457574 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.457580 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.457586 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.457617 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.457623 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.457629 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.457634 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.457640 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457646 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457653 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457658 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457664 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457676 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457681 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457687 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457693 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.457699 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.457704 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.457710 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.457716 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:28 2025-11-25 10:02:01.457722 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.457731 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.457737 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.457743 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.457748 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.457757 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.457763 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.457768 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.457774 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.457780 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.457786 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457791 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457800 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457815 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457821 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457832 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457838 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457844 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457850 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.457856 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.457861 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.457867 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.457873 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:30 2025-11-25 10:02:01.457879 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.457884 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.457890 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.457896 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.457902 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.457907 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.457913 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.457919 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.457927 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.457933 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.457939 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.457945 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.457951 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.457957 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.457965 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.457977 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.457983 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.457989 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.457995 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458000 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458006 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458012 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458018 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:31 2025-11-25 10:02:01.458023 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458029 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458038 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458044 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458049 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458055 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458061 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458067 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.458083 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.458089 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.458095 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.458102 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.458107 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.458113 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.458119 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.458131 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.458136 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.458142 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.458148 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458154 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458159 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458165 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458174 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:32 2025-11-25 10:02:01.458179 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458185 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458191 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458197 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458202 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458208 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458214 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458220 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.458228 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.458235 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.458243 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.458251 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.458258 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.458266 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.458271 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.458283 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.458289 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.458294 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.458300 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458306 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458311 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458317 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458323 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:33 2025-11-25 10:02:01.458329 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458334 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458340 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458358 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458365 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458371 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458376 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458388 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.458394 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.458400 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.458405 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.458411 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.458417 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.458423 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.458428 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.458440 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.458446 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.458452 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.458458 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458464 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458469 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458475 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458481 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:34 2025-11-25 10:02:01.458487 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458492 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458498 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458504 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458510 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458516 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458524 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458530 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.458536 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.458542 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.458548 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.458554 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.458560 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.458566 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.458572 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.458602 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.458612 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.458618 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.458623 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458629 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458643 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458650 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458655 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:36 2025-11-25 10:02:01.458661 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458667 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458673 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458678 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458684 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458690 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458697 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458705 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.458711 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.458717 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.458723 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.458729 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.458735 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.458741 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.458747 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.458758 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.458764 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.458770 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.458775 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458781 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458787 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458793 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458798 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:37 2025-11-25 10:02:01.458804 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458813 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458819 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458825 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458831 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458836 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458842 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458848 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.458854 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.458859 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.458865 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.458871 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.458877 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.458882 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.458888 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.458907 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.458913 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.458919 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.458925 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.458931 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.458936 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.458942 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.458948 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:38 2025-11-25 10:02:01.458954 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.458959 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.458965 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.458971 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.458977 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.458982 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.458988 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.458994 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459002 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459008 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.459016 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.459022 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.459028 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.459035 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.459049 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.459069 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.459077 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.459084 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.459090 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.459096 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.459102 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.459107 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.459113 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:39 2025-11-25 10:02:01.459119 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.459124 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.459130 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.459136 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.459142 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.459147 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.459153 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.459159 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459165 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459171 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.459176 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.459194 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.459200 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.459206 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.459212 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.459234 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.459250 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.459258 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.459269 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.459278 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.459284 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.459289 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.459295 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:40 2025-11-25 10:02:01.459301 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.459307 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.459312 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.459318 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.459324 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.459330 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.459336 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.459342 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459348 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459356 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.459362 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.459368 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.459373 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.459379 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.459386 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.459397 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.459404 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.459414 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.459430 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.459438 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.459445 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.459452 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.459459 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:42 2025-11-25 10:02:01.459467 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.459475 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.459481 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.459487 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.459497 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.459515 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.459521 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.459527 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459533 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459539 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.459545 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.459550 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.459556 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.459562 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.459569 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.459580 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.459586 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.459611 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.459617 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.459623 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.459628 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.459634 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.459640 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:43 2025-11-25 10:02:01.459646 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.459651 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.459657 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.459663 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.459669 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.459674 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.459680 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.459686 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459692 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459697 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.459707 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.459713 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.459719 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.459727 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.459733 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.459745 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.459751 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.459756 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.459762 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.459768 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.459773 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.459779 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.459785 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:44 2025-11-25 10:02:01.459799 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.459806 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.459812 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.459818 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.459824 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.459829 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.459835 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.459841 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459847 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459852 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.459858 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.459864 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.459870 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.459875 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.459881 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.459893 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.459899 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.459906 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.459913 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.459919 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.459930 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.459935 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.459941 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:45 2025-11-25 10:02:01.459947 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.459953 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.459958 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.459964 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.459970 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.459976 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.459981 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.459987 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.459993 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.459999 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.460004 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.460010 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.460021 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.460027 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.460035 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.460047 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.460053 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.460059 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.460072 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.460079 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.460085 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.460091 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.460097 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:46 2025-11-25 10:02:01.460102 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.460108 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.460114 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.460120 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.460125 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.460131 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.460140 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.460145 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.460151 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.460157 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.460163 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.460169 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.460175 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.460181 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.460187 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.460198 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.460204 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.460212 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.460226 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.460239 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.460247 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.460254 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.460262 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:48 2025-11-25 10:02:01.460269 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.460277 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.460285 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.460290 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.460296 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.460303 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.460309 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.460315 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.460322 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.460330 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.460338 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.460345 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.460353 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.460361 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.460381 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.460406 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.460413 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.460420 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.460428 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.460436 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.460443 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.460451 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.460458 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:49 2025-11-25 10:02:01.460466 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.460473 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.460481 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.460487 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.460493 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.460499 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.460505 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.460515 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.460531 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.460540 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.460548 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.460555 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.460562 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.460569 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.460577 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.460613 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.460620 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.460628 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.460635 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.460648 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.460656 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.460664 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.460671 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:50 2025-11-25 10:02:01.460684 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.460692 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.460699 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.460706 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.460713 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.460720 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.460727 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.460733 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.460739 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.460756 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.460763 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.460769 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.460775 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.460784 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.460790 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.460804 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.460810 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.460815 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.460821 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.460827 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.460833 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.460838 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.460844 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:51 2025-11-25 10:02:01.460851 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.460857 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.460867 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.460883 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.460892 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.460900 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.460914 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.460924 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.460939 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.460949 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.460957 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.460965 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.460972 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.460978 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.460984 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.460995 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461001 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461007 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461013 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461018 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461025 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.461031 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.461036 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:52 2025-11-25 10:02:01.461042 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.461048 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.461054 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.461060 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.461079 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.461086 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.461092 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.461098 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.461105 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.461111 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.461117 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.461122 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.461129 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.461135 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.461140 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.461152 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461161 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461167 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461176 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461182 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461188 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.461193 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.461199 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:53 2025-11-25 10:02:01.461205 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.461211 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.461216 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.461222 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.461228 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.461234 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.461239 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.461245 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.461251 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.461257 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.461262 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.461268 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.461274 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.461280 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.461285 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.461297 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461303 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461308 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461314 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461320 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461326 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.461339 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.461346 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:55 2025-11-25 10:02:01.461352 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.461358 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.461367 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.461373 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.461379 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.461384 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.461390 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.461396 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.461402 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.461408 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.461413 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.461419 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.461425 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.461430 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.461436 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.461448 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461453 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461460 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461473 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461487 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461498 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.461504 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.461528 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:56 2025-11-25 10:02:01.461534 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.461540 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.461546 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.461551 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.461557 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.461563 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.461569 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.461574 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.461580 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.461586 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.461618 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.461632 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.461638 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.461643 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.461649 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.461661 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461677 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461684 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461690 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461699 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461705 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.461711 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.461716 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:57 2025-11-25 10:02:01.461722 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.461728 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.461733 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.461739 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.461745 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.461751 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.461756 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.461762 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.461768 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.461774 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.461779 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.461785 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.461791 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.461796 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.461802 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.461814 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461819 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461825 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461831 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461839 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461845 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.461853 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.461859 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:58 2025-11-25 10:02:01.461865 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.461870 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.461876 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.461882 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.461888 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.461894 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.461899 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.461905 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.461911 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.461917 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.461922 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.461928 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.461942 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.461948 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.461954 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.461966 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.461972 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.461977 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.461983 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.461989 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.461995 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.462002 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.462014 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:46:59 2025-11-25 10:02:01.462028 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.462037 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.462046 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.462054 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.462063 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.462078 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.462087 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.462095 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.462107 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.462113 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.462119 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.462125 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.462131 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.462136 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.462142 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.462154 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.462160 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.462165 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.462171 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.462177 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.462183 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.462188 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.462197 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:01 2025-11-25 10:02:01.462203 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.462209 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.462215 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.462220 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.462226 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.462232 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.462249 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.462256 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.462262 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.462268 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.462273 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.462280 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.462286 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.462291 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.462300 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.462312 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.462318 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.462323 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.462329 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.462335 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.462341 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.462346 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.462352 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:02 2025-11-25 10:02:01.462358 | controller | | change_keystone_config/0-deploy_keystone | running command: [sh -c # the actual 2025-11-25 10:02:01.462364 | controller | addresses of the apiEndpoints are platform specific, so we can't rely on\n # 2025-11-25 10:02:01.462369 | controller | kuttl asserts to check them. This short script gathers the addresses and checks 2025-11-25 10:02:01.462375 | controller | that\n # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.462381 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.462387 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.462392 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.462398 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.462404 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.462410 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.462415 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.462421 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.462430 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.462436 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.462442 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.462453 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.462459 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.462465 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.462471 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.462476 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.462482 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.462491 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.462496 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:02 2025-11-25 10:02:01.462505 | controller | | change_keystone_config/0-deploy_keystone | test step completed 0-deploy_keystone\n 2025-11-25 10:02:01.462518 | controller | \ logger.go:42: 09:47:02 | change_keystone_config/1- | starting test step 1-\n 2025-11-25 10:02:01.462525 | controller | \ logger.go:42: 09:47:02 | change_keystone_config/1- | running command: [sh -c 2025-11-25 10:02:01.462530 | controller | $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]\n logger.go:42: 2025-11-25 10:02:01.462536 | controller | 09:47:02 | change_keystone_config/1- | test step completed 1-\n logger.go:42: 2025-11-25 10:02:01.462542 | controller | 09:47:02 | change_keystone_config/2-change_keystone_config | starting test step 2025-11-25 10:02:01.462549 | controller | 2-change_keystone_config\n logger.go:42: 09:47:02 | change_keystone_config/2-change_keystone_config 2025-11-25 10:02:01.462554 | controller | | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' 2025-11-25 10:02:01.462560 | controller | -p='[{\"op\": \"replace\", \"path\": \"/spec/customServiceConfig\", \"value\": \"[DEFAULT]\\ndebug 2025-11-25 10:02:01.462566 | controller | = false\"}]'\n ]\n logger.go:42: 09:47:02 | change_keystone_config/2-change_keystone_config 2025-11-25 10:02:01.462572 | controller | | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 09:47:02 2025-11-25 10:02:01.462578 | controller | | change_keystone_config/2-change_keystone_config | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 10:02:01.462584 | controller | --reverse]\n logger.go:42: 09:47:04 | change_keystone_config/2-change_keystone_config 2025-11-25 10:02:01.462610 | controller | | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 10:02:01.462617 | controller | --reverse]\n logger.go:42: 09:47:04 | change_keystone_config/2-change_keystone_config 2025-11-25 10:02:01.462623 | controller | | error: arguments in resource/name form may not have more than one slash\n logger.go:42: 2025-11-25 10:02:01.462629 | controller | 09:47:04 | change_keystone_config/2-change_keystone_config | test step completed 2025-11-25 10:02:01.462635 | controller | 2-change_keystone_config\n logger.go:42: 09:47:04 | change_keystone_config/3-cleanup-keystone 2025-11-25 10:02:01.462640 | controller | | starting test step 3-cleanup-keystone\n logger.go:42: 09:47:08 | change_keystone_config/3-cleanup-keystone 2025-11-25 10:02:01.462646 | controller | | test step completed 3-cleanup-keystone\n logger.go:42: 09:47:08 | change_keystone_config 2025-11-25 10:02:01.462652 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_scale\n logger.go:42: 2025-11-25 10:02:01.462658 | controller | 09:47:08 | keystone_scale | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-11-25 10:02:01.462663 | controller | \ logger.go:42: 09:47:08 | keystone_scale/0-deploy_keystone | starting test step 2025-11-25 10:02:01.462669 | controller | 0-deploy_keystone\n logger.go:42: 09:47:08 | keystone_scale/0-deploy_keystone 2025-11-25 10:02:01.462675 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 09:47:08 2025-11-25 10:02:01.462681 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.462686 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.462692 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.462698 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.462704 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.462710 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.462719 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.462724 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.462730 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.462736 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.462742 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.462747 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.462753 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.462759 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.462765 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.462776 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.462782 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.462796 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.462802 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.462808 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.462814 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.462820 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.462825 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:09 2025-11-25 10:02:01.462831 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.462837 | controller | match regex\n logger.go:42: 09:47:10 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.462843 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.462852 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.462857 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.462863 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.462869 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.462875 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.462880 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.462886 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.462892 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.462899 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.462906 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.462912 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.462922 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.462928 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.462940 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.462946 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.462951 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.462957 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.462963 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.462969 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.462974 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.462980 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:10 2025-11-25 10:02:01.462986 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.462991 | controller | match regex\n logger.go:42: 09:47:11 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.462997 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.463003 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.463009 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.463014 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.463020 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.463026 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.463032 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.463037 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.463043 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.463049 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.463062 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.463070 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.463076 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.463082 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.463093 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.463099 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.463105 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.463111 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.463116 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.463128 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.463134 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.463142 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:11 2025-11-25 10:02:01.463150 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.463157 | controller | match regex\n logger.go:42: 09:47:12 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.463169 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.463178 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.463187 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.463195 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.463204 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.463213 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.463221 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.463228 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.463234 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.463240 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.463245 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.463251 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.463257 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.463263 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.463274 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.463280 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.463286 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.463292 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.463297 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.463303 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.463309 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.463315 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:12 2025-11-25 10:02:01.463320 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.463326 | controller | match regex\n logger.go:42: 09:47:13 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.463332 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.463338 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.463353 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.463364 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.463369 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.463375 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.463381 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.463387 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.463393 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.463399 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.463405 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.463411 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.463418 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.463423 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.463435 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.463441 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.463446 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.463452 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.463458 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.463464 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.463470 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.463475 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:13 2025-11-25 10:02:01.463481 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.463490 | controller | match regex\n logger.go:42: 09:47:14 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.463496 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.463502 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.463507 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.463513 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.463519 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.463525 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.463531 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.463536 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.463542 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.463548 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.463556 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.463562 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.463568 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.463574 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.463599 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.463609 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.463616 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.463621 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.463635 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.463642 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.463647 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.463653 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:14 2025-11-25 10:02:01.463659 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.463666 | controller | match regex\n logger.go:42: 09:47:15 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.463671 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.463677 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.463683 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.463689 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.463695 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.463700 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.463706 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.463714 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.463728 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.463741 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.463749 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.463756 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.463764 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.463772 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.463786 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.463793 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.463800 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.463813 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.463819 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.463825 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.463830 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.463836 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:16 2025-11-25 10:02:01.463845 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.463851 | controller | match regex\n logger.go:42: 09:47:17 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.463857 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.463863 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.463869 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.463874 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.463880 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.463889 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.463894 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.463900 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.463906 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.463912 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.463917 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.463923 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.463945 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.463952 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.463966 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.463972 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.463978 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.463984 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.463990 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.463995 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.464001 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.464007 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:17 2025-11-25 10:02:01.464013 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.464018 | controller | match regex\n logger.go:42: 09:47:18 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.464028 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.464033 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.464039 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.464045 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.464051 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.464057 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.464062 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.464068 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.464074 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.464080 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.464085 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.464091 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.464097 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.464103 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.464114 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.464120 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.464126 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.464132 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.464137 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.464143 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.464149 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.464158 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:18 2025-11-25 10:02:01.464163 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.464169 | controller | match regex\n logger.go:42: 09:47:19 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.464175 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.464181 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.464186 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.464192 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.464208 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.464215 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.464220 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.464226 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.464235 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.464241 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.464247 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.464253 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.464259 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.464266 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.464294 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.464302 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.464311 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.464320 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.464329 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.464337 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.464346 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.464354 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:19 2025-11-25 10:02:01.464362 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.464369 | controller | match regex\n logger.go:42: 09:47:20 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.464375 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.464380 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.464386 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.464393 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.464399 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.464405 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.464411 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.464417 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.464423 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.464428 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.464434 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.464440 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.464446 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.464452 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.464467 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.464473 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.464479 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.464485 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.464528 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.464537 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.464560 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.464567 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:20 2025-11-25 10:02:01.464573 | controller | | keystone_scale/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.464579 | controller | match regex\n logger.go:42: 09:47:21 | keystone_scale/0-deploy_keystone | running 2025-11-25 10:02:01.464599 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.464610 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.464616 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.464622 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.464629 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.464635 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.464640 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.464646 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.464652 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.464658 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.464664 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.464670 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.464676 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.464681 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.464693 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.464699 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.464705 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.464710 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.464719 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.464725 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.464731 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.464737 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:22 2025-11-25 10:02:01.464746 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.464752 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.464757 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.464763 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.464769 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.464775 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.464781 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.464786 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.464792 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.464799 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.464806 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.464822 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.464833 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.464841 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.464849 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.464878 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.464886 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.464894 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.464902 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.464910 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.464917 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.464929 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.464935 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:24 2025-11-25 10:02:01.464941 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.464947 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.464953 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.464960 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.464967 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.464975 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.464983 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.464990 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.464998 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.465009 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.465017 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.465023 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.465029 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.465034 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.465040 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.465052 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.465058 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.465063 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.465069 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.465075 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.465081 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.465086 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.465092 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:25 2025-11-25 10:02:01.465098 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.465104 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.465109 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.465115 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.465121 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.465127 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.465132 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.465138 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.465144 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.465149 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.465155 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.465170 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.465177 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.465182 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.465188 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.465200 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.465206 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.465214 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.465220 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.465226 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.465231 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.465238 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.465249 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:26 2025-11-25 10:02:01.465257 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.465264 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.465270 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.465276 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.465281 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.465288 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.465294 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.465299 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.465305 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.465311 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.465317 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.465322 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.465328 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.465334 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.465340 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.465351 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.465357 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.465363 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.465369 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.465374 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.465380 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.465386 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.465392 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:27 2025-11-25 10:02:01.465398 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.465411 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.465425 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.465439 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.465448 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.465457 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.465479 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.465490 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.465498 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.465505 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.465510 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.465538 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.465549 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.465555 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.465561 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.465572 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.465578 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.465584 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.465609 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.465615 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.465621 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.465627 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.465632 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:28 2025-11-25 10:02:01.465646 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.465653 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.465658 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.465664 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.465670 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.465676 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.465682 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.465687 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.465696 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.465702 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.465708 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.465713 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.465722 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.465728 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.465734 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.465746 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.465751 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.465757 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.465763 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.465769 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.465775 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.465782 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.465800 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:30 2025-11-25 10:02:01.465810 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.465830 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.465838 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.465845 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.465852 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.465860 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.465867 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.465874 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.465881 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.465888 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.465895 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.465904 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.465912 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.465920 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.465929 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.465943 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.465951 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.465958 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.465965 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.465977 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.465984 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.465991 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.465999 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:31 2025-11-25 10:02:01.466006 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.466020 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.466029 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.466036 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.466044 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.466051 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.466059 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.466066 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.466073 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.466081 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.466088 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.466096 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.466103 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.466111 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.466118 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.466134 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.466142 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.466150 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.466170 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.466179 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.466187 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.466195 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.466202 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:32 2025-11-25 10:02:01.466210 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.466217 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.466223 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.466230 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.466236 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.466246 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.466252 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.466258 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.466264 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.466270 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.466276 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.466282 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.466289 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.466294 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.466300 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.466312 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.466318 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.466325 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.466330 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.466336 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.466342 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.466348 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.466355 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:33 2025-11-25 10:02:01.466361 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.466367 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.466379 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.466385 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.466391 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.466397 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.466406 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.466412 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.466418 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.466424 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.466430 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.466437 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.466443 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.466449 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.466466 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.466479 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.466486 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.466492 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.466498 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.466505 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.466510 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.466517 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.466523 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:34 2025-11-25 10:02:01.466529 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.466537 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.466554 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.466565 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.466573 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.466582 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.466619 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.466630 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.466638 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.466645 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.466652 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.466657 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.466663 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.466670 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.466676 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.466688 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.466694 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.466700 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.466707 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.466713 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.466719 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.466725 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.466736 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:36 2025-11-25 10:02:01.466742 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.466748 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.466754 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.466764 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.466770 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.466776 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.466782 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.466788 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.466794 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.466812 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.466819 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.466825 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.466831 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.466837 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.466844 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.466856 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.466862 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.466868 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.466874 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.466880 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.466885 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.466891 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.466897 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:37 2025-11-25 10:02:01.466903 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.466909 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.466915 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.466920 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.466926 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.466932 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.466938 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.466944 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.466953 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.466958 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.466964 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.466970 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.466976 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.466981 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.466987 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.466999 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467005 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467010 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467016 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467022 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467028 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467033 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467039 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:38 2025-11-25 10:02:01.467045 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467051 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.467056 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.467062 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.467078 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.467085 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.467090 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.467096 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.467102 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.467108 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.467114 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.467120 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.467125 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.467131 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.467137 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.467151 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467160 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467165 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467171 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467179 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467185 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467191 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467197 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:39 2025-11-25 10:02:01.467202 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467208 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.467214 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.467220 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.467226 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.467231 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.467237 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.467243 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.467249 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.467254 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.467260 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.467266 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.467272 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.467277 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.467283 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.467295 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467301 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467306 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467312 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467318 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467324 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467329 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467343 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:40 2025-11-25 10:02:01.467349 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467355 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.467364 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.467370 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.467375 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.467381 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.467387 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.467393 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.467401 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.467407 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.467413 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.467418 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.467424 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.467430 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.467436 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.467447 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467453 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467459 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467464 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467470 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467476 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467482 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467488 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:41 2025-11-25 10:02:01.467493 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467499 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.467505 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.467511 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.467516 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.467522 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.467528 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.467534 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.467539 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.467545 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.467551 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.467559 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.467565 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.467571 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.467577 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.467604 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467610 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467624 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467630 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467636 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467642 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467648 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467653 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:43 2025-11-25 10:02:01.467659 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467668 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.467676 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.467683 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.467691 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.467699 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.467707 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.467715 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.467724 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.467737 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.467746 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.467755 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.467763 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.467770 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.467776 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.467787 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467793 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467799 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467812 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467818 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467823 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467829 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467835 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:44 2025-11-25 10:02:01.467840 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467846 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.467852 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.467858 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.467863 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.467869 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.467875 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.467881 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.467886 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.467892 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.467898 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.467904 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.467912 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.467928 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.467935 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.467946 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.467952 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.467958 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.467964 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.467970 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.467975 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.467981 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.467987 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:45 2025-11-25 10:02:01.467993 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.467998 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468004 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468010 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468016 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468025 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468030 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468036 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468042 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468050 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.468059 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.468065 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.468070 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.468076 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.468082 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.468094 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.468099 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.468105 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.468111 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.468117 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.468122 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.468128 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.468134 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:46 2025-11-25 10:02:01.468140 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.468145 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468151 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468157 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468163 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468168 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468174 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468180 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468197 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468204 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.468209 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.468215 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.468221 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.468227 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.468236 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.468248 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.468254 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.468259 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.468265 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.468271 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.468277 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.468283 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.468288 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:47 2025-11-25 10:02:01.468294 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.468300 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468306 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468311 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468317 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468323 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468329 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468335 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468340 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468346 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.468352 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.468358 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.468363 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.468369 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.468378 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.468390 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.468395 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.468401 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.468407 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.468416 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.468422 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.468430 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.468436 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:49 2025-11-25 10:02:01.468442 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.468448 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468454 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468468 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468475 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468481 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468487 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468493 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468499 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468505 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.468510 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.468516 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.468522 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.468528 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.468534 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.468545 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.468551 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.468557 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.468562 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.468568 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.468574 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.468580 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.468600 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:50 2025-11-25 10:02:01.468609 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.468616 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468622 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468627 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468633 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468639 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468648 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468657 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468663 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468668 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.468674 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.468680 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.468686 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.468691 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.468697 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.468711 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.468717 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.468723 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.468729 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.468734 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.468749 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.468755 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.468761 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:51 2025-11-25 10:02:01.468767 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.468772 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468778 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468784 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468790 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468796 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468803 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468811 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468819 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468827 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.468835 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.468843 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.468852 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.468861 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.468870 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.468891 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.468898 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.468905 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.468912 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.468918 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.468925 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.468932 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.468937 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:52 2025-11-25 10:02:01.468943 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.468949 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.468955 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.468961 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.468967 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.468972 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.468978 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.468984 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.468990 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.468996 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469002 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469007 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469013 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469019 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469025 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.469050 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.469057 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.469063 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.469069 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.469075 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.469081 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.469086 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.469092 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:53 2025-11-25 10:02:01.469098 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.469107 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.469113 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.469119 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.469124 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.469130 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.469136 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.469142 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.469148 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.469153 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469159 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469165 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469171 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469176 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469182 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.469194 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.469200 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.469205 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.469211 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.469218 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.469223 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.469229 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.469235 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:55 2025-11-25 10:02:01.469241 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.469247 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.469252 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.469258 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.469264 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.469270 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.469276 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.469281 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.469287 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.469293 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469304 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469318 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469324 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469330 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469336 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.469347 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.469353 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.469359 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.469367 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.469375 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.469381 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.469387 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.469393 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:56 2025-11-25 10:02:01.469399 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.469404 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.469410 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.469416 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.469422 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.469427 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.469433 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.469439 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.469445 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.469451 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469456 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469462 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469468 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469474 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469480 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.469491 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.469497 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.469503 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.469511 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.469539 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.469545 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.469551 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.469557 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:57 2025-11-25 10:02:01.469562 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.469568 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.469574 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.469580 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.469585 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.469605 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.469622 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.469629 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.469635 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.469641 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469646 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469652 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469658 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469664 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469669 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.469681 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.469687 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.469693 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.469699 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.469705 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.469714 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.469720 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.469726 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:58 2025-11-25 10:02:01.469732 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.469738 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.469743 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.469749 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.469758 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.469764 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.469770 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.469775 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.469784 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.469790 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469795 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469801 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469807 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469813 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469819 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.469830 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.469836 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.469842 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.469848 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.469853 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.469859 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.469865 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.469871 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:59 2025-11-25 10:02:01.469876 | controller | | keystone_scale/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.469890 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.469896 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.469902 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.469907 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.469913 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.469919 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.469926 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.469933 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.469941 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.469949 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.469957 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.469965 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.469978 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.469988 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.470005 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.470013 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.470020 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.470026 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.470032 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.470039 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.470048 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.470054 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:47:59 2025-11-25 10:02:01.470060 | controller | | keystone_scale/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 2025-11-25 10:02:01.470066 | controller | 09:47:59 | keystone_scale/1-scale-keystoneapi | starting test step 1-scale-keystoneapi\n 2025-11-25 10:02:01.470072 | controller | \ logger.go:42: 09:47:59 | keystone_scale/1-scale-keystoneapi | running command: 2025-11-25 10:02:01.470078 | controller | [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", 2025-11-25 10:02:01.470084 | controller | \"path\": \"/spec/replicas\", \"value\":3}]'\n ]\n logger.go:42: 09:48:00 2025-11-25 10:02:01.470090 | controller | | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 10:02:01.470096 | controller | patched\n logger.go:42: 09:48:32 | keystone_scale/1-scale-keystoneapi | test 2025-11-25 10:02:01.470102 | controller | step completed 1-scale-keystoneapi\n logger.go:42: 09:48:32 | keystone_scale/2-scale-down-keystoneapi 2025-11-25 10:02:01.470107 | controller | | starting test step 2-scale-down-keystoneapi\n logger.go:42: 09:48:32 | keystone_scale/2-scale-down-keystoneapi 2025-11-25 10:02:01.470114 | controller | | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type='json' 2025-11-25 10:02:01.470120 | controller | -p='[{\"op\": \"replace\", \"path\": \"/spec/replicas\", \"value\":1}]'\n ]\n 2025-11-25 10:02:01.470126 | controller | \ logger.go:42: 09:48:32 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 10:02:01.470132 | controller | patched\n logger.go:42: 09:48:33 | keystone_scale/2-scale-down-keystoneapi | 2025-11-25 10:02:01.470138 | controller | test step completed 2-scale-down-keystoneapi\n logger.go:42: 09:48:33 | keystone_scale/3-scale-down-zero-keystoneapi 2025-11-25 10:02:01.470144 | controller | | starting test step 3-scale-down-zero-keystoneapi\n logger.go:42: 09:48:33 | 2025-11-25 10:02:01.470150 | controller | keystone_scale/3-scale-down-zero-keystoneapi | running command: [sh -c oc patch 2025-11-25 10:02:01.470155 | controller | keystoneapi -n $NAMESPACE keystone --type='json' -p='[{\"op\": \"replace\", \"path\": 2025-11-25 10:02:01.470161 | controller | \"/spec/replicas\", \"value\":0}]'\n ]\n logger.go:42: 09:48:34 | keystone_scale/3-scale-down-zero-keystoneapi 2025-11-25 10:02:01.470167 | controller | | keystoneapi.keystone.openstack.org/keystone patched\n logger.go:42: 09:48:39 2025-11-25 10:02:01.470186 | controller | | keystone_scale/3-scale-down-zero-keystoneapi | test step completed 3-scale-down-zero-keystoneapi\n 2025-11-25 10:02:01.470193 | controller | \ logger.go:42: 09:48:39 | keystone_scale/4-cleanup-keystone | starting test step 2025-11-25 10:02:01.470202 | controller | 4-cleanup-keystone\n logger.go:42: 09:48:39 | keystone_scale/4-cleanup-keystone 2025-11-25 10:02:01.470208 | controller | | test step completed 4-cleanup-keystone\n logger.go:42: 09:48:39 | keystone_scale 2025-11-25 10:02:01.470214 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_tls\n logger.go:42: 2025-11-25 10:02:01.470219 | controller | 09:48:39 | keystone_tls | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-11-25 10:02:01.470225 | controller | \ logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | starting test step 0-tls_ca_bundle\n 2025-11-25 10:02:01.470231 | controller | \ logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/combined-ca-bundle 2025-11-25 10:02:01.470237 | controller | created\n logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-internal-svc 2025-11-25 10:02:01.470243 | controller | created\n logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-public-svc 2025-11-25 10:02:01.470249 | controller | created\n logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | test step completed 2025-11-25 10:02:01.470254 | controller | 0-tls_ca_bundle\n logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470260 | controller | | starting test step 1-keystoneapi_tls_deploy\n logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470266 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 09:48:39 2025-11-25 10:02:01.470272 | controller | | keystone_tls/1-keystoneapi_tls_deploy | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.470278 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.470283 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.470289 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.470295 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470301 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470307 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470313 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470318 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470324 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470330 | controller | \ logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470336 | controller | : do not match regex\n logger.go:42: 09:48:40 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470342 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470347 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470353 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470359 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470365 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470371 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470379 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470388 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470394 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470399 | controller | \ logger.go:42: 09:48:40 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470405 | controller | : do not match regex\n logger.go:42: 09:48:41 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470411 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470417 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470423 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470429 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470442 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470449 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470455 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470461 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470466 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470472 | controller | \ logger.go:42: 09:48:42 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470478 | controller | : do not match regex\n logger.go:42: 09:48:43 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470484 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470490 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470495 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470501 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470507 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470513 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470519 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470524 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470530 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470536 | controller | \ logger.go:42: 09:48:43 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470542 | controller | : do not match regex\n logger.go:42: 09:48:44 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470547 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470553 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470559 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470568 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470573 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470579 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470602 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470612 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470618 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470624 | controller | \ logger.go:42: 09:48:44 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470630 | controller | : do not match regex\n logger.go:42: 09:48:45 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470635 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470641 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470647 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470653 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470659 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470664 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470670 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470676 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470682 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470693 | controller | \ logger.go:42: 09:48:45 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470699 | controller | : do not match regex\n logger.go:42: 09:48:46 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470713 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470719 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470725 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470731 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470737 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470743 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470749 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470754 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470760 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470766 | controller | \ logger.go:42: 09:48:46 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470772 | controller | : do not match regex\n logger.go:42: 09:48:47 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470778 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470784 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470790 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470796 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470805 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470810 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470816 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470822 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470828 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470834 | controller | \ logger.go:42: 09:48:47 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470839 | controller | : do not match regex\n logger.go:42: 09:48:48 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470845 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470851 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470857 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470863 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470868 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470874 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470880 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470886 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470892 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470897 | controller | \ logger.go:42: 09:48:48 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470903 | controller | : do not match regex\n logger.go:42: 09:48:50 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470909 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470915 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470921 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.470926 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.470932 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.470938 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.470944 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.470950 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.470962 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.470969 | controller | \ logger.go:42: 09:48:50 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.470974 | controller | : do not match regex\n logger.go:42: 09:48:51 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.470980 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.470986 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.470995 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.471003 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471009 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471015 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471021 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471027 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471032 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471038 | controller | \ logger.go:42: 09:48:51 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.471044 | controller | : do not match regex\n logger.go:42: 09:48:52 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.471050 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.471058 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.471066 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.471073 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471081 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471090 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471098 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471107 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471116 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471124 | controller | \ logger.go:42: 09:48:52 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.471133 | controller | : do not match regex\n logger.go:42: 09:48:53 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.471140 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.471148 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.471153 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.471159 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471169 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471175 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471180 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471186 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471192 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471198 | controller | \ logger.go:42: 09:48:53 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.471204 | controller | : do not match regex\n logger.go:42: 09:48:54 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.471209 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.471220 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.471226 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.471232 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471248 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471254 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471260 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471266 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471272 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471278 | controller | \ logger.go:42: 09:48:54 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints URLS: 2025-11-25 10:02:01.471284 | controller | : do not match regex\n logger.go:42: 09:48:55 | keystone_tls/1-keystoneapi_tls_deploy 2025-11-25 10:02:01.471290 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.471295 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.471301 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.471307 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471313 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471319 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471324 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471330 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471339 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471344 | controller | \ logger.go:42: 09:48:57 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471350 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471356 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471362 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471368 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471374 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471379 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471385 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471391 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471397 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471402 | controller | \ logger.go:42: 09:48:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471408 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471414 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471423 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471428 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471434 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471440 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471446 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471452 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471458 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471464 | controller | \ logger.go:42: 09:48:59 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471470 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471476 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471482 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471487 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471501 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471507 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471513 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471522 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471528 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471534 | controller | \ logger.go:42: 09:49:00 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471541 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471546 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471552 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471558 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471564 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471570 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471576 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471582 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471587 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471611 | controller | \ logger.go:42: 09:49:01 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471617 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471626 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471632 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471638 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471646 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471655 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471660 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471666 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471672 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471678 | controller | \ logger.go:42: 09:49:02 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471684 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471689 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471695 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471701 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471707 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471713 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471718 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471724 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471730 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471736 | controller | \ logger.go:42: 09:49:03 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471741 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471747 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471753 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471759 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471765 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471770 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471784 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471791 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471797 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471803 | controller | \ logger.go:42: 09:49:05 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471809 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471815 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471820 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471826 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471832 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471838 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471846 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471852 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471858 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471864 | controller | \ logger.go:42: 09:49:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471870 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471875 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471881 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471887 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471893 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471898 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471905 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471913 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471919 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471925 | controller | \ logger.go:42: 09:49:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471931 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471937 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.471942 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.471948 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.471954 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.471960 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.471966 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.471971 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.471977 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.471983 | controller | \ logger.go:42: 09:49:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.471989 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.471994 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472000 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472006 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472012 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472018 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472023 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472029 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472042 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472054 | controller | \ logger.go:42: 09:49:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472060 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472066 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472072 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472078 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472086 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472092 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472098 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472103 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472109 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472115 | controller | \ logger.go:42: 09:49:10 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472121 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472126 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472132 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472138 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472144 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472150 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472155 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472161 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472167 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472173 | controller | \ logger.go:42: 09:49:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472183 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472191 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472199 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472206 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472215 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472224 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472232 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472241 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472249 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472258 | controller | \ logger.go:42: 09:49:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472265 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472276 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472282 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472288 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472293 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472299 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472305 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472311 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472317 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472322 | controller | \ logger.go:42: 09:49:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472338 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472344 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472350 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472356 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472362 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472367 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472373 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472379 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472385 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472390 | controller | \ logger.go:42: 09:49:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472396 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472402 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472408 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472414 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472419 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472425 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472431 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472437 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472442 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472448 | controller | \ logger.go:42: 09:49:16 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472454 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472460 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472466 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472475 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472481 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472487 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472495 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472501 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472507 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472513 | controller | \ logger.go:42: 09:49:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472519 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472524 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472530 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472536 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472542 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472547 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472553 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472559 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472565 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472571 | controller | \ logger.go:42: 09:49:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472576 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472604 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472614 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472620 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472626 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472632 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472638 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472644 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472650 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472656 | controller | \ logger.go:42: 09:49:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472662 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472668 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472674 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472679 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472685 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472694 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472700 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472706 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472711 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472717 | controller | \ logger.go:42: 09:49:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472723 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472729 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472735 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472740 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472746 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472752 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472758 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472764 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472769 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472778 | controller | \ logger.go:42: 09:49:22 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472784 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472790 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472796 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472801 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472807 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472813 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472819 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472824 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472830 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472836 | controller | \ logger.go:42: 09:49:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472842 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472848 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472853 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472869 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472875 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472881 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472887 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472896 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472902 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472907 | controller | \ logger.go:42: 09:49:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472913 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472919 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472925 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472930 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472936 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.472942 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.472948 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.472954 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.472959 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.472965 | controller | \ logger.go:42: 09:49:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.472971 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.472977 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.472983 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.472988 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.472997 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473003 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473016 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473023 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473029 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473035 | controller | \ logger.go:42: 09:49:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473040 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473046 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473055 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473061 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473066 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473072 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473078 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473084 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473090 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473095 | controller | \ logger.go:42: 09:49:28 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473104 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473110 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473116 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473122 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473136 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473145 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473151 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473157 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473163 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473168 | controller | \ logger.go:42: 09:49:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473174 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473180 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473186 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473191 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473197 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473203 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473209 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473215 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473220 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473226 | controller | \ logger.go:42: 09:49:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473232 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473238 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473244 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473249 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473255 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473261 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473267 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473272 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473278 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473284 | controller | \ logger.go:42: 09:49:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473290 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473295 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473305 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473313 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473321 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473329 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473337 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473346 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473359 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473368 | controller | \ logger.go:42: 09:49:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473377 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473385 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473393 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473400 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473406 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473411 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473427 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473433 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473439 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473445 | controller | \ logger.go:42: 09:49:34 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.473451 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can't 2025-11-25 10:02:01.473457 | controller | rely on\n # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.473463 | controller | and checks that\n # the three endpoints are defined and their addresses follow 2025-11-25 10:02:01.473469 | controller | the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473474 | controller | \ regex=\"https:\\/\\/keystone-internal.$NAMESPACE.*:https:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473480 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473486 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473492 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473498 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n ]\n 2025-11-25 10:02:01.473503 | controller | \ logger.go:42: 09:49:34 | keystone_tls/1-keystoneapi_tls_deploy | test step completed 2025-11-25 10:02:01.473509 | controller | 1-keystoneapi_tls_deploy\n logger.go:42: 09:49:34 | keystone_tls/2-cleanup-keystone 2025-11-25 10:02:01.473576 | controller | | starting test step 2-cleanup-keystone\n logger.go:42: 09:49:39 | keystone_tls/2-cleanup-keystone 2025-11-25 10:02:01.473584 | controller | | test step completed 2-cleanup-keystone\n logger.go:42: 09:49:39 | keystone_tls 2025-11-25 10:02:01.473604 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/keystone_resources\n 2025-11-25 10:02:01.473620 | controller | \ logger.go:42: 09:49:39 | keystone_resources | Skipping creation of user-supplied 2025-11-25 10:02:01.473626 | controller | namespace: keystone-kuttl-tests\n logger.go:42: 09:49:39 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.473632 | controller | | starting test step 0-deploy_keystone\n logger.go:42: 09:49:39 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.473638 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 09:49:39 2025-11-25 10:02:01.473644 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.473650 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.473656 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.473662 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.473668 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473674 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473680 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473686 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473692 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473697 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.473703 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.473709 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.473715 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.473721 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.473726 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.473741 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.473747 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.473753 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.473759 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.473764 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.473779 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.473785 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.473791 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:39 2025-11-25 10:02:01.473797 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.473803 | controller | not match regex\n logger.go:42: 09:49:40 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.473808 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.473814 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.473820 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.473828 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473834 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473840 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473846 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473852 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.473858 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.473863 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.473869 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.473875 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.473881 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.473886 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.473898 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.473906 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.473912 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.473918 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.473924 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.473929 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.473935 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.473941 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:40 2025-11-25 10:02:01.473947 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.473952 | controller | not match regex\n logger.go:42: 09:49:42 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.473958 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.473964 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.473970 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.473976 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.473981 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.473987 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.473993 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.473999 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.474004 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.474010 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.474019 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.474024 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.474037 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.474045 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.474059 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.474065 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.474071 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.474077 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.474082 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.474088 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.474094 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.474100 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:42 2025-11-25 10:02:01.474106 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.474111 | controller | not match regex\n logger.go:42: 09:49:43 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.474117 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.474123 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.474129 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.474137 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.474144 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.474152 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.474160 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.474167 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.474174 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.474180 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.474186 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.474192 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.474197 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.474203 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.474216 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.474222 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.474230 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.474253 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.474262 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.474270 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.474277 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.474285 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:43 2025-11-25 10:02:01.474293 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.474301 | controller | not match regex\n logger.go:42: 09:49:44 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.474308 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.474316 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.474323 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.474329 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.474348 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.474355 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.474361 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.474366 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.474373 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.474381 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.474388 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.474395 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.474403 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.474415 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.474431 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.474439 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.474447 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.474455 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.474462 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.474469 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.474476 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.474484 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:44 2025-11-25 10:02:01.474491 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.474499 | controller | not match regex\n logger.go:42: 09:49:45 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.474512 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.474520 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.474528 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.474536 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.474544 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.474552 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.474560 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.474568 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.474576 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.474583 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.474607 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.474618 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.474626 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.474634 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.474650 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.474658 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.474666 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.474674 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.474682 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.474689 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.474709 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.474717 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:45 2025-11-25 10:02:01.474725 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.474732 | controller | not match regex\n logger.go:42: 09:49:46 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.474739 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.474745 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.474751 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.474758 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.474763 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.474770 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.474778 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.474785 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.474797 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.474808 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.474819 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.474827 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.474834 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.474840 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.474853 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.474859 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.474865 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.474873 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.474881 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.474888 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.474896 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.474905 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:46 2025-11-25 10:02:01.474915 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.474924 | controller | not match regex\n logger.go:42: 09:49:47 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.474934 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.474942 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.474950 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.474958 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.474965 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.474973 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.474980 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.474987 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.474995 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.475002 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.475010 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.475017 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.475024 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.475044 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.475063 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.475071 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.475079 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.475086 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.475094 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.475101 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.475109 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.475116 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:47 2025-11-25 10:02:01.475123 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.475131 | controller | not match regex\n logger.go:42: 09:49:49 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.475138 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.475146 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.475153 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.475160 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.475168 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.475175 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.475183 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.475190 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.475201 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.475209 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.475216 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.475223 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.475231 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.475237 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.475250 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.475256 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.475261 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.475268 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.475274 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.475280 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.475286 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.475291 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:49 2025-11-25 10:02:01.475302 | controller | | keystone_resources/0-deploy_keystone | Endpoints URLS: : do 2025-11-25 10:02:01.475308 | controller | not match regex\n logger.go:42: 09:49:50 | keystone_resources/0-deploy_keystone 2025-11-25 10:02:01.475313 | controller | | running command: [sh -c # the actual addresses of the apiEndpoints are platform 2025-11-25 10:02:01.475319 | controller | specific, so we can't rely on\n # kuttl asserts to check them. This short 2025-11-25 10:02:01.475325 | controller | script gathers the addresses and checks that\n # the three endpoints are 2025-11-25 10:02:01.475336 | controller | defined and their addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.475343 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.475358 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.475365 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.475371 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.475378 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.475384 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.475390 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.475396 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.475402 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.475408 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.475421 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.475426 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.475432 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.475438 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.475444 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.475450 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.475456 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.475462 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:51 2025-11-25 10:02:01.475467 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.475473 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.475479 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.475485 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.475491 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.475497 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.475502 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.475512 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.475518 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.475527 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.475534 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.475540 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.475546 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.475552 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.475558 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.475573 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.475579 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.475585 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.475612 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.475619 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.475625 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.475631 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.475637 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:52 2025-11-25 10:02:01.475643 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.475657 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.475664 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.475670 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.475676 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.475686 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.475692 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.475699 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.475705 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.475711 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.475717 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.475723 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.475729 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.475735 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.475740 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.475756 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.475762 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.475769 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.475775 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.475781 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.475787 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.475792 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.475798 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:53 2025-11-25 10:02:01.475805 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.475811 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.475817 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.475823 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.475830 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.475835 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.475842 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.475848 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.475854 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.475860 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.475869 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.475875 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.475881 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.475887 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.475893 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.475905 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.475911 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.475918 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.475924 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.475938 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.475945 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.475951 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.475957 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:54 2025-11-25 10:02:01.475963 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.475972 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.475978 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.475984 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.475990 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.475996 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476002 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476008 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476013 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476019 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476025 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476031 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476037 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476043 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476049 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476061 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476068 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476074 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.476080 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.476086 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.476092 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.476099 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.476105 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:56 2025-11-25 10:02:01.476111 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.476116 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.476122 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.476128 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.476137 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.476143 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476149 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476155 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476161 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476167 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476175 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476181 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476187 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476194 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476202 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476223 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476230 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476236 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.476242 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.476248 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.476254 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.476261 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.476267 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:57 2025-11-25 10:02:01.476273 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.476280 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.476286 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.476292 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.476298 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.476304 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476310 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476316 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476321 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476327 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476333 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476340 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476346 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476352 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476359 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476371 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476380 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476386 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.476395 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.476401 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.476407 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.476413 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.476418 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:58 2025-11-25 10:02:01.476424 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.476430 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.476436 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.476442 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.476447 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.476453 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476460 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476466 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476471 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476477 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476491 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476498 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476504 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476510 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476516 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476531 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476537 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476542 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.476548 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.476554 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.476560 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.476566 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.476572 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:49:59 2025-11-25 10:02:01.476577 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.476583 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.476601 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.476611 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.476620 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.476626 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476632 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476638 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476644 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476649 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476655 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476661 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476667 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476672 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476678 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476690 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476695 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476701 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.476707 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.476713 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.476718 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.476724 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.476730 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:00 2025-11-25 10:02:01.476735 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.476741 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.476747 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.476753 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.476758 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.476773 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476779 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476785 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476791 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476796 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476802 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476808 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476814 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476825 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476831 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476845 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476852 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476858 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.476863 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.476872 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.476878 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.476883 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.476889 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:01 2025-11-25 10:02:01.476895 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.476901 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.476907 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.476912 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.476918 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.476924 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.476930 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.476935 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.476941 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.476947 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.476953 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.476958 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.476964 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.476970 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.476976 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.476987 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.476993 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.476999 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477005 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477011 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.477020 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.477026 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.477039 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:03 2025-11-25 10:02:01.477046 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.477054 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.477062 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.477069 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.477076 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.477083 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.477091 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.477098 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.477105 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.477112 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.477119 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.477131 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.477139 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.477145 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.477151 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.477163 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.477168 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.477174 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477185 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477192 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.477200 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.477208 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.477215 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:04 2025-11-25 10:02:01.477223 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.477230 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.477236 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.477242 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.477248 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.477254 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.477263 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.477270 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.477275 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.477281 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.477287 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.477293 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.477298 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.477304 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.477310 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.477321 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.477327 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.477343 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477350 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477358 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.477366 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.477373 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.477381 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:05 2025-11-25 10:02:01.477389 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.477397 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.477404 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.477411 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.477419 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.477425 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.477431 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.477437 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.477443 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.477448 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.477455 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.477461 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.477466 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.477472 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.477478 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.477493 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.477499 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.477504 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477510 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477516 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.477540 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.477547 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.477552 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:06 2025-11-25 10:02:01.477558 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.477564 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.477570 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.477575 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.477581 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.477587 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.477609 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.477616 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.477622 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.477628 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.477634 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.477639 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.477645 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.477660 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.477667 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.477679 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.477684 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.477690 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477696 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477702 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.477707 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.477713 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.477719 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:07 2025-11-25 10:02:01.477728 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.477734 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.477739 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.477745 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.477751 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.477757 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.477762 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.477768 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.477774 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.477779 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.477785 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.477791 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.477797 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.477802 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.477808 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.477820 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.477825 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.477831 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477837 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477842 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.477848 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.477857 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.477863 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:09 2025-11-25 10:02:01.477868 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.477874 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.477880 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.477886 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.477891 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.477899 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.477905 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.477911 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.477924 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.477933 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.477939 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.477945 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.477952 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.477958 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.477963 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.477975 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.477981 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.477987 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.477993 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.477999 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478005 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478010 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478016 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:10 2025-11-25 10:02:01.478022 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478028 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478033 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478039 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478045 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478051 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.478057 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.478063 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.478069 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.478075 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.478081 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.478086 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.478092 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.478099 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.478105 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.478116 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.478122 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.478130 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.478136 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.478142 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478148 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478154 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478169 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:11 2025-11-25 10:02:01.478176 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478181 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478188 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478202 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478208 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478214 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.478220 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.478226 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.478237 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.478244 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.478250 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.478256 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.478262 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.478267 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.478273 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.478285 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.478290 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.478296 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.478302 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.478308 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478313 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478319 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478325 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:12 2025-11-25 10:02:01.478330 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478336 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478342 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478350 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478356 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478362 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.478368 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.478373 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.478379 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.478385 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.478391 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.478396 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.478402 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.478408 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.478414 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.478425 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.478431 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.478439 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.478447 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.478454 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478472 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478481 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478489 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:13 2025-11-25 10:02:01.478500 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478509 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478516 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478522 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478528 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478534 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.478540 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.478546 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.478551 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.478557 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.478563 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.478572 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.478578 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.478584 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.478604 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.478619 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.478628 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.478634 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.478639 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.478645 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478651 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478657 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478662 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:15 2025-11-25 10:02:01.478668 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478674 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478680 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478685 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478691 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478697 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.478703 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.478709 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.478714 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.478720 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.478726 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.478731 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.478737 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.478743 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.478749 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.478770 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.478776 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.478782 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.478788 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.478797 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478803 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478809 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478814 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:16 2025-11-25 10:02:01.478820 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478829 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478834 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478840 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478846 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478852 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.478857 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.478863 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.478869 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.478875 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.478880 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.478886 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.478892 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.478898 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.478905 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.478919 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.478926 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.478932 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.478938 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.478944 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.478949 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.478955 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.478961 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:17 2025-11-25 10:02:01.478967 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.478972 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.478978 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.478984 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.478990 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.478998 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479004 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479010 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479016 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479021 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479027 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479041 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479047 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479053 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479059 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479070 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479076 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479082 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479088 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479093 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479099 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.479105 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.479111 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:18 2025-11-25 10:02:01.479116 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.479122 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.479130 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.479136 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.479142 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.479148 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479154 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479159 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479165 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479171 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479177 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479182 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479188 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479194 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479203 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479214 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479220 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479226 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479231 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479237 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479243 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.479249 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.479254 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:19 2025-11-25 10:02:01.479260 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.479266 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.479272 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.479277 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.479283 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.479289 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479302 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479308 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479314 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479320 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479326 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479334 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479340 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479346 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479352 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479363 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479369 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479375 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479380 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479386 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479392 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.479398 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.479406 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:20 2025-11-25 10:02:01.479412 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.479418 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.479424 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.479432 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.479438 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.479444 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479450 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479456 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479462 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479467 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479473 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479479 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479485 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479491 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479497 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479511 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479517 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479523 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479529 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479534 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479540 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.479546 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.479552 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:22 2025-11-25 10:02:01.479557 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.479571 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.479578 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.479583 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.479601 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.479610 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479616 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479625 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479630 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479636 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479642 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479648 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479654 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479660 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479666 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479677 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479683 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479689 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479695 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479700 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479706 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.479712 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.479718 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:23 2025-11-25 10:02:01.479724 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.479729 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.479735 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.479741 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.479747 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.479752 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479758 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479769 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479775 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479781 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479787 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479792 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479798 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479804 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479810 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479824 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479830 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479835 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479849 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479855 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479861 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.479867 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.479873 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:24 2025-11-25 10:02:01.479878 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.479884 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.479890 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.479896 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.479901 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.479907 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.479913 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.479919 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.479924 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.479930 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.479936 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.479942 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.479948 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.479953 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.479959 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.479971 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.479976 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.479982 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.479988 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.479994 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.479999 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.480005 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.480011 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:25 2025-11-25 10:02:01.480017 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.480025 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.480031 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.480037 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.480043 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.480051 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.480057 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.480063 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.480071 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.480077 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.480082 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.480088 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.480094 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.480100 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.480113 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.480125 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.480130 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.480136 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.480143 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.480149 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.480154 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.480160 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.480166 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:26 2025-11-25 10:02:01.480171 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.480177 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.480183 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.480189 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.480194 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.480200 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.480206 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.480212 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.480217 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.480223 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.480232 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.480238 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.480244 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.480249 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.480255 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.480267 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.480272 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.480278 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.480284 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.480290 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.480295 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.480301 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.480307 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:28 2025-11-25 10:02:01.480313 | controller | | keystone_resources/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.480318 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.480324 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.480330 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.480336 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.480341 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.480347 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.480353 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.480359 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.480374 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.480381 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.480386 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.480392 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.480398 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.480404 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.480415 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.480421 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.480427 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.480435 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.480441 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.480447 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.480453 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.480459 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:28 2025-11-25 10:02:01.480464 | controller | | keystone_resources/0-deploy_keystone | test step completed 0-deploy_keystone\n 2025-11-25 10:02:01.480470 | controller | \ logger.go:42: 09:50:28 | keystone_resources/1-deploy-keystoneservice | starting 2025-11-25 10:02:01.480476 | controller | test step 1-deploy-keystoneservice\n logger.go:42: 09:50:28 | keystone_resources/1-deploy-keystoneservice 2025-11-25 10:02:01.480482 | controller | | KeystoneService:keystone-kuttl-tests/placement created\n logger.go:42: 09:50:30 2025-11-25 10:02:01.480487 | controller | | keystone_resources/1-deploy-keystoneservice | test step completed 1-deploy-keystoneservice\n 2025-11-25 10:02:01.480493 | controller | \ logger.go:42: 09:50:30 | keystone_resources/2-deploy-keystoneendpoint | starting 2025-11-25 10:02:01.480499 | controller | test step 2-deploy-keystoneendpoint\n logger.go:42: 09:50:30 | keystone_resources/2-deploy-keystoneendpoint 2025-11-25 10:02:01.480505 | controller | | KeystoneEndpoint:keystone-kuttl-tests/placement created\n logger.go:42: 09:50:41 2025-11-25 10:02:01.480511 | controller | | keystone_resources/2-deploy-keystoneendpoint | test step completed 2-deploy-keystoneendpoint\n 2025-11-25 10:02:01.480516 | controller | \ logger.go:42: 09:50:41 | keystone_resources/3-cleanup-keystoneendpoint | starting 2025-11-25 10:02:01.480522 | controller | test step 3-cleanup-keystoneendpoint\n logger.go:42: 09:50:42 | keystone_resources/3-cleanup-keystoneendpoint 2025-11-25 10:02:01.480528 | controller | | test step completed 3-cleanup-keystoneendpoint\n logger.go:42: 09:50:42 | keystone_resources/4-cleanup-keystoneservice 2025-11-25 10:02:01.480534 | controller | | starting test step 4-cleanup-keystoneservice\n logger.go:42: 09:50:44 | keystone_resources/4-cleanup-keystoneservice 2025-11-25 10:02:01.480540 | controller | | test step completed 4-cleanup-keystoneservice\n logger.go:42: 09:50:44 | keystone_resources/5-cleanup-keystone 2025-11-25 10:02:01.480545 | controller | | starting test step 5-cleanup-keystone\n logger.go:42: 09:50:48 | keystone_resources/5-cleanup-keystone 2025-11-25 10:02:01.480551 | controller | | test step completed 5-cleanup-keystone\n logger.go:42: 09:50:48 | keystone_resources 2025-11-25 10:02:01.480557 | controller | | skipping kubernetes event logging\n=== CONT kuttl/harness/fernet_rotation\n logger.go:42: 2025-11-25 10:02:01.480563 | controller | 09:50:48 | fernet_rotation | Skipping creation of user-supplied namespace: keystone-kuttl-tests\n 2025-11-25 10:02:01.480569 | controller | \ logger.go:42: 09:50:48 | fernet_rotation/0-deploy_keystone | starting test step 2025-11-25 10:02:01.480574 | controller | 0-deploy_keystone\n logger.go:42: 09:50:48 | fernet_rotation/0-deploy_keystone 2025-11-25 10:02:01.480580 | controller | | KeystoneAPI:keystone-kuttl-tests/keystone created\n logger.go:42: 09:50:48 2025-11-25 10:02:01.480586 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.480606 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.480612 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.480618 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.480624 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.480637 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.480646 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.480652 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.480661 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.480667 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.480673 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.480678 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.480684 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.480690 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.480696 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.480707 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.480713 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.480719 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.480725 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.480733 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.480739 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.480747 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.480753 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:48 2025-11-25 10:02:01.480758 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.480764 | controller | match regex\n logger.go:42: 09:50:49 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.480770 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.480776 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.480781 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.480787 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.480794 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.480800 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.480806 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.480812 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.480818 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.480824 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.480830 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.480835 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.480844 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.480850 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.480863 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.480869 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.480875 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.480881 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.480887 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.480893 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.480899 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.480913 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:49 2025-11-25 10:02:01.480919 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.480925 | controller | match regex\n logger.go:42: 09:50:50 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.480934 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.480940 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.480946 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.480951 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.480957 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.480963 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.480969 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.480975 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.480981 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.480987 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.480993 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.480998 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481004 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481011 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.481022 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.481029 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.481037 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.481044 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.481052 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.481070 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.481078 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.481085 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:51 2025-11-25 10:02:01.481093 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.481098 | controller | match regex\n logger.go:42: 09:50:52 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.481104 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.481110 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.481116 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.481121 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.481127 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.481133 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.481139 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.481145 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.481150 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.481156 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.481162 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.481168 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481173 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481179 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.481200 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.481206 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.481212 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.481217 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.481223 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.481229 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.481235 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.481240 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:52 2025-11-25 10:02:01.481246 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.481252 | controller | match regex\n logger.go:42: 09:50:53 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.481258 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.481263 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.481269 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.481278 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.481284 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.481290 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.481295 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.481301 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.481307 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.481313 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.481318 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.481324 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481330 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481336 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.481347 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.481353 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.481358 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.481368 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.481373 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.481379 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.481385 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.481391 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:53 2025-11-25 10:02:01.481397 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.481402 | controller | match regex\n logger.go:42: 09:50:54 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.481408 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.481414 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.481419 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.481425 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.481431 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.481437 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.481450 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.481456 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.481462 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.481468 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.481476 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.481485 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481490 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481496 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.481508 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.481513 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.481537 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.481545 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.481551 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.481557 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.481562 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.481568 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:54 2025-11-25 10:02:01.481574 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.481579 | controller | match regex\n logger.go:42: 09:50:55 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.481585 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.481607 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.481613 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.481619 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.481625 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.481631 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.481637 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.481643 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.481649 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.481655 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.481661 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.481666 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481672 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481678 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.481692 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.481698 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.481704 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.481713 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.481719 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.481728 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.481734 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.481740 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:55 2025-11-25 10:02:01.481745 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.481760 | controller | match regex\n logger.go:42: 09:50:56 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.481766 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.481772 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.481779 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.481784 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.481790 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.481796 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.481802 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.481808 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.481813 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.481819 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.481825 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.481831 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481836 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481842 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.481854 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.481859 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.481865 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.481871 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.481877 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.481882 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.481888 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.481894 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:56 2025-11-25 10:02:01.481900 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.481908 | controller | match regex\n logger.go:42: 09:50:57 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.481917 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.481924 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.481931 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.481937 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.481942 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.481948 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.481954 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.481960 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.481965 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.481971 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.481977 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.481983 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.481988 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.481994 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482008 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482021 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482027 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482033 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.482039 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.482045 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.482053 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.482061 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:58 2025-11-25 10:02:01.482068 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.482076 | controller | match regex\n logger.go:42: 09:50:59 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.482083 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.482090 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.482097 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.482104 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.482121 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.482131 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.482138 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.482145 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.482158 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.482164 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.482170 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.482175 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.482182 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.482188 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482199 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482205 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482211 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482216 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.482222 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.482228 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.482234 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.482239 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:50:59 2025-11-25 10:02:01.482245 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.482251 | controller | match regex\n logger.go:42: 09:51:00 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.482257 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.482262 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.482268 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.482274 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.482280 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.482289 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.482295 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.482301 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.482318 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.482324 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.482330 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.482336 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.482342 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.482350 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482365 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482370 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482376 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482382 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.482388 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.482394 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.482400 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.482406 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:00 2025-11-25 10:02:01.482411 | controller | | fernet_rotation/0-deploy_keystone | Endpoints URLS: : do not 2025-11-25 10:02:01.482417 | controller | match regex\n logger.go:42: 09:51:01 | fernet_rotation/0-deploy_keystone | running 2025-11-25 10:02:01.482423 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.482429 | controller | so we can't rely on\n # kuttl asserts to check them. This short script gathers 2025-11-25 10:02:01.482434 | controller | the addresses and checks that\n # the three endpoints are defined and their 2025-11-25 10:02:01.482440 | controller | addresses follow the default pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.482446 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.482452 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.482457 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.482463 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.482469 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.482475 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.482480 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.482486 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.482492 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.482498 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482509 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482515 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482521 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482526 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.482532 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.482538 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.482544 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.482549 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:02 2025-11-25 10:02:01.482558 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.482564 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.482569 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.482583 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.482604 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.482614 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.482620 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.482625 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.482637 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.482643 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.482649 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.482655 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.482661 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.482667 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.482675 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482687 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482692 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482698 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482704 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.482710 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.482715 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.482721 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.482727 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:03 2025-11-25 10:02:01.482733 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.482738 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.482744 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.482750 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.482756 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.482761 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.482767 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.482773 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.482779 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.482787 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.482793 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.482799 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.482804 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.482810 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.482816 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482827 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482833 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482839 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482845 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.482850 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.482856 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.482870 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.482877 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:04 2025-11-25 10:02:01.482882 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.482888 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.482894 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.482900 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.482906 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.482911 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.482917 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.482923 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.482928 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.482934 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.482940 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.482946 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.482951 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.482957 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.482963 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.482977 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.482983 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.482991 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.482997 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483005 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483010 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483016 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483022 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:06 2025-11-25 10:02:01.483028 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483033 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483039 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483045 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483052 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483059 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483067 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483075 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483082 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483088 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.483093 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.483099 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.483105 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.483111 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.483116 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.483128 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.483143 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.483150 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.483156 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483161 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483167 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483173 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483179 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:07 2025-11-25 10:02:01.483184 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483190 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483196 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483205 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483211 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483217 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483222 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483228 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483234 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483240 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.483245 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.483251 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.483257 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.483263 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.483268 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.483283 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.483289 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.483295 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.483301 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483306 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483312 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483318 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483324 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:08 2025-11-25 10:02:01.483329 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483335 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483341 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483347 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483352 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483358 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483364 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483370 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483375 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483381 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.483387 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.483393 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.483409 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.483415 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.483421 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.483433 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.483438 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.483444 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.483450 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483455 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483461 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483467 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483473 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:09 2025-11-25 10:02:01.483478 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483484 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483490 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483496 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483501 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483507 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483513 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483519 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483525 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483530 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.483536 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.483542 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.483548 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.483553 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.483559 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.483571 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.483576 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.483582 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.483607 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483620 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483626 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483632 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483637 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:10 2025-11-25 10:02:01.483643 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483649 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483655 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483660 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483666 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483672 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483686 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483692 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483698 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483703 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.483709 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.483715 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.483723 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.483729 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.483735 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.483746 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.483752 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.483758 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.483764 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483769 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483775 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483781 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483787 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:11 2025-11-25 10:02:01.483792 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483798 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483804 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483810 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483816 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483824 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483830 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483836 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483841 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483847 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.483853 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.483859 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.483864 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.483870 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.483876 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.483890 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.483896 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.483902 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.483907 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.483913 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.483921 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.483927 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.483933 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:13 2025-11-25 10:02:01.483938 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.483952 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.483958 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.483964 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.483969 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.483975 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.483981 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.483987 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.483993 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.483998 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484004 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484010 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484016 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484021 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484033 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484045 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484053 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.484060 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.484068 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.484076 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.484082 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.484088 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.484094 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:14 2025-11-25 10:02:01.484099 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.484105 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.484111 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.484117 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.484122 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.484128 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.484134 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.484140 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.484145 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.484151 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484157 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484163 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484168 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484174 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484180 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484191 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484197 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.484203 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.484209 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.484225 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.484231 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.484241 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.484250 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:15 2025-11-25 10:02:01.484255 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.484261 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.484267 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.484273 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.484278 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.484284 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.484290 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.484295 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.484301 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.484307 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484313 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484318 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484324 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484330 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484336 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484347 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484353 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.484359 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.484364 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.484370 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.484376 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.484382 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.484387 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:16 2025-11-25 10:02:01.484393 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.484399 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.484405 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.484411 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.484416 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.484422 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.484430 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.484436 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.484445 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.484451 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484457 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484462 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484468 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484474 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484480 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484499 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484505 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.484511 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.484517 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.484523 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.484528 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.484534 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.484543 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:17 2025-11-25 10:02:01.484549 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.484555 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.484560 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.484566 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.484572 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.484578 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.484583 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.484605 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.484616 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.484632 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484640 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484648 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484656 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484663 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484671 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484683 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484693 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.484699 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.484705 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.484711 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.484716 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.484722 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.484729 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:19 2025-11-25 10:02:01.484734 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.484740 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.484746 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.484752 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.484758 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.484763 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.484769 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.484775 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.484781 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.484787 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484804 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484811 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484817 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484823 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484829 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484841 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484847 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.484853 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.484858 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.484864 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.484870 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.484876 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.484881 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:20 2025-11-25 10:02:01.484891 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.484897 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.484908 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.484914 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.484921 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.484927 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.484933 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.484939 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.484945 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.484950 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.484956 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.484962 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.484968 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.484973 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.484979 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.484991 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.484996 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485002 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485008 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485014 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485019 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485025 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485032 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:21 2025-11-25 10:02:01.485040 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485048 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.485056 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.485063 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.485071 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.485087 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.485094 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.485100 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.485106 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.485111 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.485117 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.485126 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.485132 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.485138 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.485143 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.485155 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.485161 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485167 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485172 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485181 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485189 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485195 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485201 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:22 2025-11-25 10:02:01.485207 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485213 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.485221 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.485226 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.485232 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.485238 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.485244 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.485250 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.485255 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.485261 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.485267 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.485272 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.485278 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.485284 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.485290 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.485301 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.485307 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485313 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485321 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485327 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485333 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485338 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485344 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:23 2025-11-25 10:02:01.485360 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485367 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.485372 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.485378 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.485384 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.485390 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.485396 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.485402 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.485407 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.485413 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.485419 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.485425 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.485430 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.485436 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.485442 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.485453 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.485459 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485465 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485471 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485476 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485482 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485488 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485494 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:25 2025-11-25 10:02:01.485500 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485506 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.485514 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.485520 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.485542 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.485554 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.485560 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.485565 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.485571 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.485577 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.485583 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.485604 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.485613 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.485619 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.485625 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.485637 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.485642 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485658 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485664 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485670 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485675 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485681 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485688 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:26 2025-11-25 10:02:01.485694 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485699 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.485705 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.485711 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.485717 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.485722 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.485728 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.485734 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.485740 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.485746 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.485751 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.485757 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.485763 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.485772 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.485779 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.485790 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.485796 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485802 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485807 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485813 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485819 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485825 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485830 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:27 2025-11-25 10:02:01.485836 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485842 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.485848 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.485856 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.485862 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.485868 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.485874 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.485880 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.485885 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.485891 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.485897 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.485903 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.485911 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.485924 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.485930 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.485942 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.485948 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.485953 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.485959 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.485965 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.485971 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.485979 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.485985 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:28 2025-11-25 10:02:01.485991 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.485996 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486002 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486008 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486014 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486019 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486025 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486032 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486040 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486047 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486055 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486062 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486070 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486077 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486084 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486096 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.486101 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.486107 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.486113 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.486119 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.486124 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.486130 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.486136 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:29 2025-11-25 10:02:01.486141 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.486147 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486153 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486159 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486164 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486170 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486176 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486188 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486203 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486210 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486215 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486221 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486227 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486233 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486238 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486250 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.486256 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.486261 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.486267 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.486273 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.486279 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.486285 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.486291 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:31 2025-11-25 10:02:01.486297 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.486302 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486308 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486314 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486320 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486325 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486331 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486337 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486346 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486352 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486358 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486363 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486369 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486375 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486381 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486395 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.486401 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.486407 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.486413 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.486419 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.486424 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.486430 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.486436 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:32 2025-11-25 10:02:01.486442 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.486447 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486453 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486467 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486473 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486479 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486485 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486490 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486499 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486507 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486513 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486519 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486524 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486530 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486536 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486547 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.486553 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.486559 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.486565 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.486571 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.486576 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.486582 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.486601 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:33 2025-11-25 10:02:01.486610 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.486620 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486626 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486631 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486637 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486643 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486651 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486657 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486663 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486669 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486674 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486680 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486686 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486692 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486697 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486709 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.486715 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.486720 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.486726 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.486732 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.486738 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.486751 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.486757 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:34 2025-11-25 10:02:01.486763 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.486769 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486775 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486781 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486786 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486792 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486798 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486804 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486809 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486818 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486827 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486833 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486839 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486844 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486850 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486862 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.486867 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.486873 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.486879 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.486885 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.486890 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.486896 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.486902 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:35 2025-11-25 10:02:01.486908 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.486913 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.486919 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.486925 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.486931 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.486936 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.486942 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.486948 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.486954 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.486959 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.486965 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.486971 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.486977 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.486982 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.486988 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.486999 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.487013 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.487019 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.487030 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.487036 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.487041 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.487049 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.487056 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:37 2025-11-25 10:02:01.487064 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.487071 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.487077 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.487083 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.487089 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.487095 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.487101 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.487107 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.487112 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.487118 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.487127 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.487133 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.487139 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.487145 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.487150 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.487162 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.487168 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.487173 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.487179 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.487185 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.487191 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.487197 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.487202 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:38 2025-11-25 10:02:01.487208 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.487214 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.487220 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.487225 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.487234 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.487240 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.487246 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.487251 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.487257 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.487263 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.487269 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.487275 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.487289 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.487295 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.487301 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.487313 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.487319 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.487324 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.487330 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.487338 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.487345 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.487351 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.487357 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:39 2025-11-25 10:02:01.487363 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.487370 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.487378 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.487385 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.487393 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.487401 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.487408 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.487415 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.487421 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.487427 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.487432 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.487438 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.487447 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.487454 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.487465 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.487481 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.487488 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.487496 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.487503 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.487510 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.487518 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.487525 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.487532 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:40 2025-11-25 10:02:01.487540 | controller | | fernet_rotation/0-deploy_keystone | running command: [sh -c # the actual addresses 2025-11-25 10:02:01.487547 | controller | of the apiEndpoints are platform specific, so we can't rely on\n # kuttl 2025-11-25 10:02:01.487555 | controller | asserts to check them. This short script gathers the addresses and checks that\n 2025-11-25 10:02:01.487562 | controller | \ # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.487569 | controller | pattern\n template='{{.status.apiEndpoints.internal}}{{\":\"}}{{.status.apiEndpoints.public}}{{\"\\n\"}}'\n 2025-11-25 10:02:01.487577 | controller | \ regex=\"http:\\/\\/keystone-internal.$NAMESPACE.*:http:\\/\\/keystone-public.$NAMESPACE.*\"\n 2025-11-25 10:02:01.487610 | controller | \ apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template=\"$template\")\n 2025-11-25 10:02:01.487622 | controller | \ matches=$(echo \"$apiEndpoints\" | sed -e \"s?$regex??\")\n if [ 2025-11-25 10:02:01.487630 | controller | -z \"$matches\" ]; then\n exit 0\n else\n echo \"Endpoints 2025-11-25 10:02:01.487637 | controller | URLS: $apiEndpoints do not match regex\"\n exit 1\n fi\n \n 2025-11-25 10:02:01.487644 | controller | \ # when using image digests the containerImage URLs are SHA's so we verify 2025-11-25 10:02:01.487652 | controller | them with a script\n tupleTemplate='{{ range (index .spec.template.spec.containers 2025-11-25 10:02:01.487659 | controller | 0).env }}{{ .name }}{{ \"#\" }}{{ .value}}{{\"\\n\"}}{{ end }}'\n imageTuples=$(oc 2025-11-25 10:02:01.487667 | controller | get -n openstack-operators deployment keystone-operator-controller-manager -o go-template=\"$tupleTemplate\")\n 2025-11-25 10:02:01.487674 | controller | \ # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines\n for ITEM in $(echo $imageTuples); do\n # 2025-11-25 10:02:01.487689 | controller | it is an image\n if echo $ITEM | grep 'RELATED_IMAGE' &> /dev/null; then\n 2025-11-25 10:02:01.487697 | controller | \ NAME=$(echo $ITEM | sed -e 's|^RELATED_IMAGE_KEYSTONE_\\([^_]*\\)_.*|\\1|')\n 2025-11-25 10:02:01.487704 | controller | \ IMG_FROM_ENV=$(echo $ITEM | sed -e 's|^.*#\\(.*\\)|\\1|')\n template='{{.spec.containerImage}}'\n 2025-11-25 10:02:01.487711 | controller | \ case $NAME in\n API)\n SERVICE_IMAGE=$(oc 2025-11-25 10:02:01.487719 | controller | get -n $NAMESPACE keystoneapi keystone -o go-template=\"$template\")\n ;;\n 2025-11-25 10:02:01.487731 | controller | \ esac\n if [ \"$SERVICE_IMAGE\" != \"$IMG_FROM_ENV\" ]; then\n 2025-11-25 10:02:01.487738 | controller | \ echo \"$NAME image does not equal $VALUE\"\n exit 1\n 2025-11-25 10:02:01.487745 | controller | \ fi\n fi\n done\n ]\n logger.go:42: 09:51:40 2025-11-25 10:02:01.487752 | controller | | fernet_rotation/0-deploy_keystone | test step completed 0-deploy_keystone\n logger.go:42: 2025-11-25 10:02:01.487760 | controller | 09:51:40 | fernet_rotation/1-deploy_openstackclient | starting test step 1-deploy_openstackclient\n 2025-11-25 10:02:01.487768 | controller | \ logger.go:42: 09:51:40 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient 2025-11-25 10:02:01.487776 | controller | created\n logger.go:42: 09:51:40 | fernet_rotation/1-deploy_openstackclient | 2025-11-25 10:02:01.487783 | controller | running command: [sh -c ../../common/scripts/create_test_token.sh]\n logger.go:42: 2025-11-25 10:02:01.487791 | controller | 09:51:40 | fernet_rotation/1-deploy_openstackclient | + oc wait --for=condition=ready 2025-11-25 10:02:01.487800 | controller | pod openstackclient --timeout=30s -n keystone-kuttl-tests\n logger.go:42: 09:51:49 2025-11-25 10:02:01.487808 | controller | | fernet_rotation/1-deploy_openstackclient | pod/openstackclient condition met\n 2025-11-25 10:02:01.487815 | controller | \ logger.go:42: 09:51:49 | fernet_rotation/1-deploy_openstackclient | + alias 2025-11-25 10:02:01.487823 | controller | 'openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack'\n logger.go:42: 2025-11-25 10:02:01.487831 | controller | 09:51:49 | fernet_rotation/1-deploy_openstackclient | ++ oc exec -tn keystone-kuttl-tests 2025-11-25 10:02:01.487839 | controller | openstackclient -- openstack token issue -f value -c id\n logger.go:42: 09:51:54 2025-11-25 10:02:01.487847 | controller | | fernet_rotation/1-deploy_openstackclient | + export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.487855 | controller | \ logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.487863 | controller | \ logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | + echo gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.487870 | controller | \ logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | test step 2025-11-25 10:02:01.487876 | controller | completed 1-deploy_openstackclient\n logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.487882 | controller | | starting test step 2-rotate_keys\n logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.487889 | controller | | Secret:keystone-kuttl-tests/keystone updated\n logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.487895 | controller | | running command: [sh -c ../../common/scripts/validate_test_token.sh]\n logger.go:42: 2025-11-25 10:02:01.487916 | controller | 09:51:54 | fernet_rotation/2-rotate_keys | + seconds=1\n logger.go:42: 09:51:54 2025-11-25 10:02:01.487923 | controller | | fernet_rotation/2-rotate_keys | + '[' 1 -le 30 ']'\n logger.go:42: 09:51:54 2025-11-25 10:02:01.487932 | controller | | fernet_rotation/2-rotate_keys | ++ oc get secret keystone -n keystone-kuttl-tests 2025-11-25 10:02:01.487939 | controller | -o 'jsonpath={.metadata.annotations['\\''keystone\\.openstack\\.org/rotatedat'\\'']}'\n 2025-11-25 10:02:01.487945 | controller | \ logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + rotatedat=2025-11-25T09:51:54Z\n 2025-11-25 10:02:01.487951 | controller | \ logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + '[' 2025-11-25T09:51:54Z 2025-11-25 10:02:01.487960 | controller | '!=' 2009-11-10T23:00:00Z ']'\n logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.487966 | controller | | + break\n logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + sleep 2025-11-25 10:02:01.487972 | controller | 60\n logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.487978 | controller | \ logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.487984 | controller | \ logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.487990 | controller | \ logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests 2025-11-25 10:02:01.487996 | controller | openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.488002 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.488008 | controller | openstack endpoint list\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.488016 | controller | | ++ true\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | + output='The 2025-11-25 10:02:01.488022 | controller | service catalog is empty.\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.488028 | controller | | command terminated with exit code 1'\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.488034 | controller | | + echo 'The service catalog is empty.\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.488040 | controller | | command terminated with exit code 1'\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.488046 | controller | | + grep -qi 'Could not recognize Fernet token'\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys 2025-11-25 10:02:01.488053 | controller | | + exit 0\n logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | test step 2025-11-25 10:02:01.488064 | controller | completed 2-rotate_keys\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488073 | controller | | starting test step 3-rotate_keys_until_invalidate\n logger.go:42: 09:52:57 2025-11-25 10:02:01.488080 | controller | | fernet_rotation/3-rotate_keys_until_invalidate | running command: [sh -c ../../common/scripts/rotate_token.sh]\n 2025-11-25 10:02:01.488087 | controller | \ logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488095 | controller | TMP_SECRET_FILE=/tmp/keystone-secret.yaml\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488102 | controller | | + for rotation in {1..5}\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488109 | controller | | + echo 'Starting rotation 1...'\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488116 | controller | | Starting rotation 1...\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488122 | controller | | + generate_secret_yaml\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488128 | controller | | + cat\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488134 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488141 | controller | | Warning: resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 10:02:01.488150 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 10:02:01.488157 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 10:02:01.488171 | controller | annotation will be patched automatically.\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488178 | controller | | secret/keystone configured\n logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488184 | controller | | + sleep 100\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488190 | controller | | + echo 'Rotation 1 completed successfully.'\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488197 | controller | | Rotation 1 completed successfully.\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488203 | controller | | + for rotation in {1..5}\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488209 | controller | | + echo 'Starting rotation 2...'\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488215 | controller | | Starting rotation 2...\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488220 | controller | | + generate_secret_yaml\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488226 | controller | | + cat\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488232 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488238 | controller | | secret/keystone configured\n logger.go:42: 09:54:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488244 | controller | | + sleep 100\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488250 | controller | | + echo 'Rotation 2 completed successfully.'\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488256 | controller | | Rotation 2 completed successfully.\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488261 | controller | | + for rotation in {1..5}\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488268 | controller | | + echo 'Starting rotation 3...'\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488276 | controller | | Starting rotation 3...\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488284 | controller | | + generate_secret_yaml\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488292 | controller | | + cat\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488300 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488307 | controller | | secret/keystone configured\n logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488315 | controller | | + sleep 100\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488323 | controller | | + echo 'Rotation 3 completed successfully.'\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488330 | controller | | Rotation 3 completed successfully.\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488338 | controller | | + for rotation in {1..5}\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488344 | controller | | + echo 'Starting rotation 4...'\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488353 | controller | | Starting rotation 4...\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488360 | controller | | + generate_secret_yaml\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488368 | controller | | + cat\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488376 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488384 | controller | | secret/keystone configured\n logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488391 | controller | | + sleep 100\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488399 | controller | | + echo 'Rotation 4 completed successfully.'\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488406 | controller | | Rotation 4 completed successfully.\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488412 | controller | | + for rotation in {1..5}\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488428 | controller | | + echo 'Starting rotation 5...'\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488435 | controller | | Starting rotation 5...\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488441 | controller | | + generate_secret_yaml\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488447 | controller | | + cat\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488455 | controller | | + oc apply -f /tmp/keystone-secret.yaml\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488462 | controller | | secret/keystone configured\n logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488470 | controller | | + sleep 100\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488478 | controller | | + echo 'Rotation 5 completed successfully.'\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488485 | controller | | Rotation 5 completed successfully.\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488492 | controller | | + rm -f /tmp/keystone-secret.yaml\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488500 | controller | | + echo 'All rotations completed successfully.'\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488510 | controller | | All rotations completed successfully.\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488521 | controller | | + exit 0\n logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488527 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.488533 | controller | 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.488538 | controller | \ logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488544 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.488550 | controller | \ logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488556 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.488565 | controller | \ logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.488571 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.488577 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.488583 | controller | openstack endpoint list\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488607 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488613 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488619 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488625 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488631 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488637 | controller | | + filtered_output=\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488642 | controller | | + echo ''\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488648 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488654 | controller | | + exit 1\n logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488660 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.488666 | controller | 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.488671 | controller | \ logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488687 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.488693 | controller | \ logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488699 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.488705 | controller | \ logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.488713 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.488720 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.488728 | controller | openstack endpoint list\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488736 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488743 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488752 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488763 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488771 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488778 | controller | | + filtered_output=\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488785 | controller | | + echo ''\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488793 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488800 | controller | | + exit 1\n logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488812 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.488823 | controller | 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.488830 | controller | \ logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488838 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.488846 | controller | \ logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.488854 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.488861 | controller | \ logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.488869 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.488876 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.488884 | controller | openstack endpoint list\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488891 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488898 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488905 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488913 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488920 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488928 | controller | | + filtered_output=\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488947 | controller | | + echo ''\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488956 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488965 | controller | | + exit 1\n logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.488972 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.488980 | controller | 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.488988 | controller | \ logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489000 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489007 | controller | \ logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489013 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489019 | controller | \ logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489025 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489031 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489037 | controller | openstack endpoint list\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489048 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489056 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489063 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489071 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489079 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489086 | controller | | + filtered_output=\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489094 | controller | | + echo ''\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489101 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489109 | controller | | + exit 1\n logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489116 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489121 | controller | 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489127 | controller | \ logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489133 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489139 | controller | \ logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489145 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489152 | controller | \ logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489160 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489172 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489183 | controller | openstack endpoint list\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489201 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489209 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489217 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489223 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489229 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489236 | controller | | + filtered_output=\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489244 | controller | | + echo ''\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489251 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489259 | controller | | + exit 1\n logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489267 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489274 | controller | 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489281 | controller | \ logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489289 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489296 | controller | \ logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489304 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489311 | controller | \ logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489318 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489326 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489334 | controller | openstack endpoint list\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489341 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489349 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489356 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489364 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489371 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489378 | controller | | + filtered_output=\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489386 | controller | | + echo ''\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489402 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489410 | controller | | + exit 1\n logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489417 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489425 | controller | 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489433 | controller | \ logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489441 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489449 | controller | \ logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489468 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489477 | controller | \ logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489485 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489493 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489500 | controller | openstack endpoint list\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489508 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489515 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489537 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489545 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489552 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489560 | controller | | + filtered_output=\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489567 | controller | | + echo ''\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489575 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489583 | controller | | + exit 1\n logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489610 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489618 | controller | 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489629 | controller | \ logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489637 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489644 | controller | \ logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489652 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489663 | controller | \ logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489671 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489677 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489683 | controller | openstack endpoint list\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489689 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489695 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489701 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489707 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489713 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489719 | controller | | + filtered_output=\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489724 | controller | | + echo ''\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489730 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489736 | controller | | + exit 1\n logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489742 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489757 | controller | 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489763 | controller | \ logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489769 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489775 | controller | \ logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489781 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489787 | controller | \ logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489793 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489798 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489804 | controller | openstack endpoint list\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489810 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489816 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489821 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489830 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489836 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489842 | controller | | + filtered_output=\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489848 | controller | | + echo ''\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489853 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489859 | controller | | + exit 1\n logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489865 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489871 | controller | 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489876 | controller | \ logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489882 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489888 | controller | \ logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.489897 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.489903 | controller | \ logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.489908 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.489914 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.489920 | controller | openstack endpoint list\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489926 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489932 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489937 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489950 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489956 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489962 | controller | | + filtered_output=\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489968 | controller | | + echo ''\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489974 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489980 | controller | | + exit 1\n logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.489985 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.489991 | controller | 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.489997 | controller | \ logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490008 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490014 | controller | \ logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490020 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490026 | controller | \ logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.490033 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.490041 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.490048 | controller | openstack endpoint list\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490056 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490064 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490070 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490076 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490081 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490087 | controller | | + filtered_output=\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490093 | controller | | + echo ''\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490099 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490105 | controller | | + exit 1\n logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490111 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.490116 | controller | 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.490126 | controller | \ logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490132 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490137 | controller | \ logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490143 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490149 | controller | \ logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.490155 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.490169 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.490182 | controller | openstack endpoint list\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490188 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490194 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490200 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490206 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490211 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490217 | controller | | + filtered_output=\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490223 | controller | | + echo ''\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490229 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490235 | controller | | + exit 1\n logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490241 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.490246 | controller | 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.490252 | controller | \ logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490266 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490274 | controller | \ logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490280 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490286 | controller | \ logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.490292 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.490298 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.490304 | controller | openstack endpoint list\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490309 | controller | | + output='The service catalog is empty.\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490318 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490323 | controller | | ++ echo 'The service catalog is empty.\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490329 | controller | | command terminated with exit code 1'\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490335 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490341 | controller | | + filtered_output=\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490347 | controller | | + echo ''\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490355 | controller | | + grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490361 | controller | | + exit 1\n logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490367 | controller | | running command: [sh -c ../../common/scripts/test_invalid_token.sh]\n logger.go:42: 2025-11-25 10:02:01.490373 | controller | 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ cat /tmp/temporary_test_token\n 2025-11-25 10:02:01.490379 | controller | \ logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490385 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490399 | controller | \ logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490405 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I\n 2025-11-25 10:02:01.490411 | controller | \ logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.490417 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.490422 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.490428 | controller | openstack endpoint list\n logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490434 | controller | | + output='Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)\n 2025-11-25 10:02:01.490440 | controller | \ logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.490446 | controller | terminated with exit code 1'\n logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490452 | controller | | ++ echo 'Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)\n 2025-11-25 10:02:01.490457 | controller | \ logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.490463 | controller | terminated with exit code 1'\n logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490469 | controller | | ++ grep -i 'Could not recognize Fernet token'\n logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490475 | controller | | + filtered_output='Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)'\n 2025-11-25 10:02:01.490481 | controller | \ logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490487 | controller | grep -q 'Could not recognize Fernet token'\n logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490492 | controller | | + echo 'Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)'\n 2025-11-25 10:02:01.490498 | controller | \ logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.490504 | controller | exit 0\n logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate 2025-11-25 10:02:01.490510 | controller | | test step completed 3-rotate_keys_until_invalidate\n logger.go:42: 10:01:55 2025-11-25 10:02:01.490516 | controller | | fernet_rotation/4-cleanup-openstackclient | starting test step 4-cleanup-openstackclient\n 2025-11-25 10:02:01.490521 | controller | \ logger.go:42: 10:01:56 | fernet_rotation/4-cleanup-openstackclient | test step 2025-11-25 10:02:01.490527 | controller | completed 4-cleanup-openstackclient\n logger.go:42: 10:01:56 | fernet_rotation/5-cleanup-keystone 2025-11-25 10:02:01.490536 | controller | | starting test step 5-cleanup-keystone\n case.go:396: failed in step 5-cleanup-keystone\n 2025-11-25 10:02:01.490541 | controller | \ case.go:398: Get \"https://api.crc.testing:6443/apis/keystone.openstack.org/v1beta1/namespaces/keystone-kuttl-tests/keystoneapis/keystone\": 2025-11-25 10:02:01.490547 | controller | dial tcp 38.102.83.5:6443: connect: connection refused\n logger.go:42: 10:02:01 2025-11-25 10:02:01.490553 | controller | | fernet_rotation | skipping kubernetes event logging\n step.go:213: Delete \"https://api.crc.testing:6443/api/v1/namespaces/keystone-kuttl-tests/pods/openstackclient\": 2025-11-25 10:02:01.490559 | controller | dial tcp 38.102.83.5:6443: connect: connection refused\n step.go:213: Delete 2025-11-25 10:02:01.490565 | controller | \"https://api.crc.testing:6443/apis/keystone.openstack.org/v1beta1/namespaces/keystone-kuttl-tests/keystoneapis/keystone\": 2025-11-25 10:02:01.490571 | controller | dial tcp 38.102.83.5:6443: connect: connection refused\n=== NAME kuttl\n harness.go:406: 2025-11-25 10:02:01.490576 | controller | run tests finished\n harness.go:514: cleaning up\n harness.go:571: removing 2025-11-25 10:02:01.490582 | controller | temp folder: \"\"\n--- FAIL: kuttl (963.06s)\n --- FAIL: kuttl/harness (0.00s)\n 2025-11-25 10:02:01.490605 | controller | \ --- PASS: kuttl/harness/change_keystone_config (70.68s)\n --- PASS: 2025-11-25 10:02:01.490611 | controller | kuttl/harness/keystone_scale (90.56s)\n --- PASS: kuttl/harness/keystone_tls 2025-11-25 10:02:01.490617 | controller | (60.23s)\n --- PASS: kuttl/harness/keystone_resources (68.82s)\n --- 2025-11-25 10:02:01.490623 | controller | FAIL: kuttl/harness/fernet_rotation (672.76s)\nFAIL\nmake[1]: *** [Makefile:1807: 2025-11-25 10:02:01.490636 | controller | keystone_kuttl_run] Error 1\nmake[1]: Leaving directory '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls'\nmake: 2025-11-25 10:02:01.490642 | controller | *** [Makefile:1816: keystone_kuttl] Error 2\n" 2025-11-25 10:02:01.490648 | controller | stdout_lines: 2025-11-25 10:02:01.490655 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls ~/ci-framework-data/artifacts 2025-11-25 10:02:01.490661 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 10:02:01.490667 | controller | - bash scripts/gen-namespace.sh 2025-11-25 10:02:01.490673 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-11-25 10:02:01.490679 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 10:02:01.490685 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 10:02:01.490691 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 10:02:01.490696 | controller | ']' 2025-11-25 10:02:01.490702 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests 2025-11-25 10:02:01.490708 | controller | - + cat 2025-11-25 10:02:01.490714 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml 2025-11-25 10:02:01.490720 | controller | - namespace/keystone-kuttl-tests created 2025-11-25 10:02:01.490726 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io keystone-kuttl-tests); 2025-11-25 10:02:01.490732 | controller | do sleep 1; done" 2025-11-25 10:02:01.490737 | controller | - NAME DISPLAY NAME STATUS 2025-11-25 10:02:01.490743 | controller | - keystone-kuttl-tests Active 2025-11-25 10:02:01.490749 | controller | - oc project keystone-kuttl-tests 2025-11-25 10:02:01.490755 | controller | - Now using project "keystone-kuttl-tests" on server "https://api.crc.testing:6443". 2025-11-25 10:02:01.490761 | controller | - bash scripts/gen-input-kustomize.sh 2025-11-25 10:02:01.490767 | controller | - + OUT=/home/zuul/ci-framework-data/artifacts/manifests 2025-11-25 10:02:01.490773 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 10:02:01.490778 | controller | - + '[' -z osp-secret ']' 2025-11-25 10:02:01.490784 | controller | - + '[' -z 12345678 ']' 2025-11-25 10:02:01.490793 | controller | - + '[' -z 1234567842 ']' 2025-11-25 10:02:01.490799 | controller | - + '[' -z 767c3ed056cbaa3b9dfedb8c6f825bf0 ']' 2025-11-25 10:02:01.490805 | controller | - + '[' -z sEFmdFjDUqRM2VemYslV5yGNWjokioJXsg8Nrlc3drU= ']' 2025-11-25 10:02:01.490811 | controller | - + '[' -z COX8bmlKAWn56XCGMrKQJj7dgHNAOl6f ']' 2025-11-25 10:02:01.490817 | controller | - + '[' -z openstack ']' 2025-11-25 10:02:01.490823 | controller | - + '[' -z libvirt-secret ']' 2025-11-25 10:02:01.490828 | controller | - + DIR=/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.490834 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.490840 | controller | ']' 2025-11-25 10:02:01.490848 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.490856 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.490862 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.490868 | controller | - + cat 2025-11-25 10:02:01.490874 | controller | - oc get secret/osp-secret || oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input 2025-11-25 10:02:01.490880 | controller | | oc apply -f - 2025-11-25 10:02:01.490888 | controller | - 'Error from server (NotFound): secrets "osp-secret" not found' 2025-11-25 10:02:01.490894 | controller | - secret/libvirt-secret created 2025-11-25 10:02:01.490900 | controller | - secret/octavia-ca-passphrase created 2025-11-25 10:02:01.490906 | controller | - secret/osp-secret created 2025-11-25 10:02:01.490911 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-11-25 10:02:01.490917 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.490923 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr'' 2025-11-25 10:02:01.490929 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila: 2025-11-25 10:02:01.490935 | controller | no such file or directory' 2025-11-25 10:02:01.490941 | controller | - No resources found 2025-11-25 10:02:01.490947 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/manila-operator 2025-11-25 10:02:01.490952 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/manila/cr 2025-11-25 10:02:01.490958 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.490964 | controller | drop database if exists manila;" || true 2025-11-25 10:02:01.490970 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.490976 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-11-25 10:02:01.490981 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.490987 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr'' 2025-11-25 10:02:01.490993 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat: 2025-11-25 10:02:01.490999 | controller | no such file or directory' 2025-11-25 10:02:01.491005 | controller | - No resources found 2025-11-25 10:02:01.491011 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/heat-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/heat/cr 2025-11-25 10:02:01.491017 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-11-25 10:02:01.491030 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491036 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr'' 2025-11-25 10:02:01.491042 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon: 2025-11-25 10:02:01.491053 | controller | no such file or directory' 2025-11-25 10:02:01.491061 | controller | - No resources found 2025-11-25 10:02:01.491068 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/horizon-operator 2025-11-25 10:02:01.491075 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/horizon/cr 2025-11-25 10:02:01.491083 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-11-25 10:02:01.491090 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491098 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr'' 2025-11-25 10:02:01.491105 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova: 2025-11-25 10:02:01.491112 | controller | no such file or directory' 2025-11-25 10:02:01.491120 | controller | - No resources found 2025-11-25 10:02:01.491127 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/nova-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/nova/cr 2025-11-25 10:02:01.491135 | controller | - oc rsh openstack-galera-0 mysql -u root --password=12345678 -ss -e "show databases 2025-11-25 10:02:01.491142 | controller | like 'nova_%';" | xargs -I '{}' oc rsh openstack-galera-0 mysql -u root --password=12345678 2025-11-25 10:02:01.491150 | controller | -ss -e "flush tables; drop database if exists {};" 2025-11-25 10:02:01.491157 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491163 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-11-25 10:02:01.491169 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491175 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr'' 2025-11-25 10:02:01.491180 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis: 2025-11-25 10:02:01.491186 | controller | no such file or directory' 2025-11-25 10:02:01.491192 | controller | - No resources found 2025-11-25 10:02:01.491198 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator-redis 2025-11-25 10:02:01.491204 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra-redis/cr 2025-11-25 10:02:01.491209 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-11-25 10:02:01.491215 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491221 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr'' 2025-11-25 10:02:01.491227 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia: 2025-11-25 10:02:01.491232 | controller | no such file or directory' 2025-11-25 10:02:01.491238 | controller | - No resources found 2025-11-25 10:02:01.491244 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/octavia-operator 2025-11-25 10:02:01.491250 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/octavia/cr 2025-11-25 10:02:01.491255 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491261 | controller | drop database if exists octavia;" || true 2025-11-25 10:02:01.491267 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491273 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-11-25 10:02:01.491278 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491284 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr'' 2025-11-25 10:02:01.491294 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate: 2025-11-25 10:02:01.491300 | controller | no such file or directory' 2025-11-25 10:02:01.491306 | controller | - No resources found 2025-11-25 10:02:01.491312 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/designate-operator 2025-11-25 10:02:01.491318 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/designate/cr 2025-11-25 10:02:01.491323 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491329 | controller | drop database if exists designate;" || true 2025-11-25 10:02:01.491335 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491341 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-11-25 10:02:01.491347 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491362 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr'' 2025-11-25 10:02:01.491368 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron: 2025-11-25 10:02:01.491374 | controller | no such file or directory' 2025-11-25 10:02:01.491380 | controller | - No resources found 2025-11-25 10:02:01.491386 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/neutron-operator 2025-11-25 10:02:01.491391 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/neutron/cr 2025-11-25 10:02:01.491397 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491403 | controller | drop database if exists neutron;" || true 2025-11-25 10:02:01.491409 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491416 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-11-25 10:02:01.491421 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491427 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr'' 2025-11-25 10:02:01.491433 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn: 2025-11-25 10:02:01.491439 | controller | no such file or directory' 2025-11-25 10:02:01.491444 | controller | - No resources found 2025-11-25 10:02:01.491450 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ovn-operator /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ovn/cr 2025-11-25 10:02:01.491456 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-11-25 10:02:01.491462 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491469 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr'' 2025-11-25 10:02:01.491476 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic: 2025-11-25 10:02:01.491484 | controller | no such file or directory' 2025-11-25 10:02:01.491492 | controller | - No resources found 2025-11-25 10:02:01.491499 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ironic-operator 2025-11-25 10:02:01.491507 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ironic/cr 2025-11-25 10:02:01.491514 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491519 | controller | drop database if exists ironic;" || true 2025-11-25 10:02:01.491525 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491532 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491541 | controller | drop database if exists ironic_inspector;" || true 2025-11-25 10:02:01.491553 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491559 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-11-25 10:02:01.491567 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491575 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr'' 2025-11-25 10:02:01.491582 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder: 2025-11-25 10:02:01.491609 | controller | no such file or directory' 2025-11-25 10:02:01.491617 | controller | - No resources found 2025-11-25 10:02:01.491624 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/cinder-operator 2025-11-25 10:02:01.491631 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/cinder/cr 2025-11-25 10:02:01.491639 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491645 | controller | drop database if exists cinder;" || true 2025-11-25 10:02:01.491653 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491660 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-11-25 10:02:01.491668 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491676 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr'' 2025-11-25 10:02:01.491683 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance: 2025-11-25 10:02:01.491691 | controller | no such file or directory' 2025-11-25 10:02:01.491698 | controller | - No resources found 2025-11-25 10:02:01.491706 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/glance-operator 2025-11-25 10:02:01.491713 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/glance/cr 2025-11-25 10:02:01.491721 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491728 | controller | drop database if exists glance;" || true 2025-11-25 10:02:01.491735 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491742 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-11-25 10:02:01.491760 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491769 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr'' 2025-11-25 10:02:01.491777 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement: 2025-11-25 10:02:01.491785 | controller | no such file or directory' 2025-11-25 10:02:01.491792 | controller | - No resources found 2025-11-25 10:02:01.491800 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/placement-operator 2025-11-25 10:02:01.491808 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/placement/cr 2025-11-25 10:02:01.491815 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491823 | controller | drop database if exists placement;" || true 2025-11-25 10:02:01.491830 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491842 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-11-25 10:02:01.491849 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491855 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr'' 2025-11-25 10:02:01.491866 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift: 2025-11-25 10:02:01.491874 | controller | no such file or directory' 2025-11-25 10:02:01.491882 | controller | - No resources found 2025-11-25 10:02:01.491889 | controller | - rm -Rf -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/swift-operator 2025-11-25 10:02:01.491897 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/swift/cr 2025-11-25 10:02:01.491904 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-11-25 10:02:01.491912 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.491919 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr'' 2025-11-25 10:02:01.491927 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican: 2025-11-25 10:02:01.491934 | controller | no such file or directory' 2025-11-25 10:02:01.491942 | controller | - No resources found 2025-11-25 10:02:01.491949 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/barbican-operator 2025-11-25 10:02:01.491957 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/barbican/cr 2025-11-25 10:02:01.491964 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.491971 | controller | drop database if exists barbican;" || true 2025-11-25 10:02:01.491979 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.491985 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.491991 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.492000 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr'' 2025-11-25 10:02:01.492006 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone: 2025-11-25 10:02:01.492012 | controller | no such file or directory' 2025-11-25 10:02:01.492018 | controller | - No resources found 2025-11-25 10:02:01.492024 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator 2025-11-25 10:02:01.492030 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.492035 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.492041 | controller | drop database if exists keystone;" || true 2025-11-25 10:02:01.492048 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.492056 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.492063 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.492074 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr'' 2025-11-25 10:02:01.492082 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb: 2025-11-25 10:02:01.492089 | controller | no such file or directory' 2025-11-25 10:02:01.492097 | controller | - No resources found 2025-11-25 10:02:01.492105 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator 2025-11-25 10:02:01.492112 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.492119 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 10:02:01.492127 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.492134 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr'' 2025-11-25 10:02:01.492156 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry: 2025-11-25 10:02:01.492164 | controller | no such file or directory' 2025-11-25 10:02:01.492171 | controller | - No resources found 2025-11-25 10:02:01.492182 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/telemetry-operator 2025-11-25 10:02:01.492190 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 10:02:01.492197 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/ceilometer-operator 2025-11-25 10:02:01.492204 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/telemetry/cr 2025-11-25 10:02:01.492212 | controller | - oc rsh -t openstack-galera-0 mysql -u root --password=12345678 -e "flush tables; 2025-11-25 10:02:01.492222 | controller | drop database if exists aodh;" || true 2025-11-25 10:02:01.492229 | controller | - 'Error from server (NotFound): pods "openstack-galera-0" not found' 2025-11-25 10:02:01.492235 | controller | - oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.492241 | controller | | oc delete --ignore-not-found=true -f - 2025-11-25 10:02:01.492246 | controller | - 'error: must build at directory: not a valid directory: evalsymlink failure on ''/home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr'' 2025-11-25 10:02:01.492252 | controller | : lstat /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra: 2025-11-25 10:02:01.492258 | controller | no such file or directory' 2025-11-25 10:02:01.492264 | controller | - No resources found 2025-11-25 10:02:01.492269 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator 2025-11-25 10:02:01.492275 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.492281 | controller | - if oc get RabbitmqCluster; then oc delete --ignore-not-found=true RabbitmqCluster 2025-11-25 10:02:01.492287 | controller | --all; fi 2025-11-25 10:02:01.492293 | controller | - 'error: the server doesn''t have a resource type "RabbitmqCluster"' 2025-11-25 10:02:01.492299 | controller | - rm -Rf /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator 2025-11-25 10:02:01.492304 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.492310 | controller | - bash scripts/gen-namespace.sh 2025-11-25 10:02:01.492316 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-11-25 10:02:01.492322 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.492330 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 10:02:01.492338 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 10:02:01.492345 | controller | ']' 2025-11-25 10:02:01.492353 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators 2025-11-25 10:02:01.492360 | controller | - + cat 2025-11-25 10:02:01.492366 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml 2025-11-25 10:02:01.492372 | controller | - 'Warning: resource namespaces/openstack-operators is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 10:02:01.492378 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 10:02:01.492383 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 10:02:01.492389 | controller | annotation will be patched automatically.' 2025-11-25 10:02:01.492395 | controller | - namespace/openstack-operators configured 2025-11-25 10:02:01.492401 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io openstack-operators); 2025-11-25 10:02:01.492407 | controller | do sleep 1; done" 2025-11-25 10:02:01.492414 | controller | - NAME DISPLAY NAME STATUS 2025-11-25 10:02:01.492422 | controller | - openstack-operators Active 2025-11-25 10:02:01.492429 | controller | - oc project openstack-operators 2025-11-25 10:02:01.492441 | controller | - Now using project "openstack-operators" on server "https://api.crc.testing:6443". 2025-11-25 10:02:01.492449 | controller | - bash scripts/gen-olm.sh 2025-11-25 10:02:01.492457 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.492464 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.492472 | controller | - + '[' -z quay.io/openstack-k8s-operators/mariadb-operator-index:latest ']' 2025-11-25 10:02:01.492479 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492485 | controller | ']' 2025-11-25 10:02:01.492490 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492496 | controller | ']' 2025-11-25 10:02:01.492502 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492508 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 10:02:01.492514 | controller | - + OPERATOR_SOURCE=mariadb-operator-index 2025-11-25 10:02:01.492521 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 10:02:01.492529 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492537 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492544 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.492552 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.492559 | controller | - + echo OPERATOR_SOURCE mariadb-operator-index 2025-11-25 10:02:01.492567 | controller | - OPERATOR_SOURCE mariadb-operator-index 2025-11-25 10:02:01.492574 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.492580 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.492600 | controller | - + cat 2025-11-25 10:02:01.492610 | controller | - + cat 2025-11-25 10:02:01.492616 | controller | - + cat 2025-11-25 10:02:01.492631 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492638 | controller | - catalogsource.operators.coreos.com/mariadb-operator-index created 2025-11-25 10:02:01.492644 | controller | - operatorgroup.operators.coreos.com/openstack created 2025-11-25 10:02:01.492650 | controller | - subscription.operators.coreos.com/mariadb-operator created 2025-11-25 10:02:01.492656 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op 2025-11-25 10:02:01.492662 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.492668 | controller | - bash scripts/clone-operator-repo.sh 2025-11-25 10:02:01.492674 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/openstack-operator.git 2025-11-25 10:02:01.492679 | controller | openstack-operator' 2025-11-25 10:02:01.492685 | controller | - Cloning into 'openstack-operator'... 2025-11-25 10:02:01.492691 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/mariadb-operator.git 2025-11-25 10:02:01.492697 | controller | mariadb-operator' 2025-11-25 10:02:01.492703 | controller | - Cloning into 'mariadb-operator'... 2025-11-25 10:02:01.492708 | controller | - 'Running checkout: git checkout 231c653930d1' 2025-11-25 10:02:01.492714 | controller | - 'Note: switching to ''231c653930d1''.' 2025-11-25 10:02:01.492720 | controller | - '' 2025-11-25 10:02:01.492726 | controller | - You are in 'detached HEAD' state. You can look around, make experimental 2025-11-25 10:02:01.492732 | controller | - changes and commit them, and you can discard any commits you make in this 2025-11-25 10:02:01.492737 | controller | - state without impacting any branches by switching back to a branch. 2025-11-25 10:02:01.492743 | controller | - '' 2025-11-25 10:02:01.492749 | controller | - If you want to create a new branch to retain commits you create, you may 2025-11-25 10:02:01.492755 | controller | - 'do so (now or later) by using -c with the switch command. Example:' 2025-11-25 10:02:01.492761 | controller | - '' 2025-11-25 10:02:01.492766 | controller | - ' git switch -c ' 2025-11-25 10:02:01.492776 | controller | - '' 2025-11-25 10:02:01.492782 | controller | - 'Or undo this operation with:' 2025-11-25 10:02:01.492788 | controller | - '' 2025-11-25 10:02:01.492794 | controller | - ' git switch -' 2025-11-25 10:02:01.492800 | controller | - '' 2025-11-25 10:02:01.492806 | controller | - Turn off this advice by setting config variable advice.detachedHead to false 2025-11-25 10:02:01.492811 | controller | - '' 2025-11-25 10:02:01.492817 | controller | - 'HEAD is now at 231c653 Merge pull request #379 from dciabrin/pwd-wsrep-notify' 2025-11-25 10:02:01.492823 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/mariadb-operator/config/samples/mariadb_v1beta1_galera.yaml 2025-11-25 10:02:01.492829 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.492835 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.492841 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.492849 | controller | - ++ cd scripts 2025-11-25 10:02:01.492856 | controller | - ++ pwd -P 2025-11-25 10:02:01.492864 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.492872 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.492880 | controller | --source-only 2025-11-25 10:02:01.492886 | controller | - ++ set -e 2025-11-25 10:02:01.492892 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 10:02:01.492898 | controller | - + '[' -z Galera ']' 2025-11-25 10:02:01.492903 | controller | - + '[' -z osp-secret ']' 2025-11-25 10:02:01.492909 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.492916 | controller | ']' 2025-11-25 10:02:01.492923 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.492931 | controller | - + REPLACEMENTS= 2025-11-25 10:02:01.492938 | controller | - + IMAGE=unused 2025-11-25 10:02:01.492946 | controller | - + IMAGE_PATH=containerImage 2025-11-25 10:02:01.492954 | controller | - + STORAGE_REQUEST=10G 2025-11-25 10:02:01.492966 | controller | - + INTERFACE_MTU=1500 2025-11-25 10:02:01.492973 | controller | - + VLAN_START=20 2025-11-25 10:02:01.492980 | controller | - + VLAN_STEP=1 2025-11-25 10:02:01.492985 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.492991 | controller | ']' 2025-11-25 10:02:01.492997 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.493003 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.493009 | controller | - + cat 2025-11-25 10:02:01.493015 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.493022 | controller | - + IFS=, 2025-11-25 10:02:01.493031 | controller | - + read -ra IMAGES 2025-11-25 10:02:01.493038 | controller | - + IFS=, 2025-11-25 10:02:01.493046 | controller | - + read -ra IMAGE_PATHS 2025-11-25 10:02:01.493053 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.493061 | controller | - + (( i=0 )) 2025-11-25 10:02:01.493068 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.493076 | controller | - + SPEC_PATH=containerImage 2025-11-25 10:02:01.493083 | controller | - + SPEC_VALUE=unused 2025-11-25 10:02:01.493091 | controller | - + '[' unused '!=' unused ']' 2025-11-25 10:02:01.493099 | controller | - + (( i++ )) 2025-11-25 10:02:01.493105 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.493113 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.493120 | controller | - + '[' Galera == OpenStackControlPlane ']' 2025-11-25 10:02:01.493128 | controller | - + '[' Galera == Galera ']' 2025-11-25 10:02:01.493135 | controller | - + cat 2025-11-25 10:02:01.493143 | controller | - + '[' Galera == NetConfig ']' 2025-11-25 10:02:01.493150 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.493158 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.493165 | controller | - + [[ Galera == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.493173 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.493181 | controller | - + kustomization_add_resources 2025-11-25 10:02:01.493188 | controller | - + echo merge config dir 2025-11-25 10:02:01.493200 | controller | - merge config dir 2025-11-25 10:02:01.493208 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 10:02:01.493215 | controller | - ++ grep -v kustomization 2025-11-25 10:02:01.493222 | controller | - + yamls=./mariadb_v1beta1_galera.yaml 2025-11-25 10:02:01.493230 | controller | - + for y in ${yamls[@]} 2025-11-25 10:02:01.493237 | controller | - + kustomize edit add resource ./mariadb_v1beta1_galera.yaml 2025-11-25 10:02:01.493245 | controller | - + popd 2025-11-25 10:02:01.493253 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.493261 | controller | - make wait 2025-11-25 10:02:01.493280 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.493288 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 10:02:01.493296 | controller | - bash scripts/operator-wait.sh 2025-11-25 10:02:01.493304 | controller | - + TIMEOUT=500s 2025-11-25 10:02:01.493311 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 10:02:01.493319 | controller | - ++ cd scripts 2025-11-25 10:02:01.493326 | controller | - ++ pwd -P 2025-11-25 10:02:01.493334 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.493342 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493349 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493357 | controller | - + '[' mariadb = rabbitmq ']' 2025-11-25 10:02:01.493364 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.493372 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.493379 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 10:02:01.493387 | controller | ]; do sleep 5; done' 2025-11-25 10:02:01.493394 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493402 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493409 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493417 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493424 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493432 | controller | -o json 2025-11-25 10:02:01.493439 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493447 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 10:02:01.493454 | controller | not found' 2025-11-25 10:02:01.493462 | controller | - + REPLICAS= 2025-11-25 10:02:01.493469 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.493477 | controller | - + exit 1 2025-11-25 10:02:01.493484 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493490 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493496 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493502 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493508 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493513 | controller | -o json 2025-11-25 10:02:01.493519 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493542 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 10:02:01.493549 | controller | not found' 2025-11-25 10:02:01.493555 | controller | - + REPLICAS= 2025-11-25 10:02:01.493561 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.493567 | controller | - + exit 1 2025-11-25 10:02:01.493572 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493578 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493584 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493608 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493614 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493620 | controller | -o json 2025-11-25 10:02:01.493626 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493635 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 10:02:01.493645 | controller | not found' 2025-11-25 10:02:01.493650 | controller | - + REPLICAS= 2025-11-25 10:02:01.493656 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.493662 | controller | - + exit 1 2025-11-25 10:02:01.493668 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493673 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493679 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493685 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493691 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493697 | controller | -o json 2025-11-25 10:02:01.493702 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493708 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 10:02:01.493714 | controller | not found' 2025-11-25 10:02:01.493720 | controller | - + REPLICAS= 2025-11-25 10:02:01.493725 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.493731 | controller | - + exit 1 2025-11-25 10:02:01.493737 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493743 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493748 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493754 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493760 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493766 | controller | -o json 2025-11-25 10:02:01.493772 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493777 | controller | - 'Error from server (NotFound): deployments.apps "mariadb-operator-controller-manager" 2025-11-25 10:02:01.493783 | controller | not found' 2025-11-25 10:02:01.493789 | controller | - + REPLICAS= 2025-11-25 10:02:01.493797 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.493803 | controller | - + exit 1 2025-11-25 10:02:01.493809 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493820 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493826 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493832 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493838 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493844 | controller | -o json 2025-11-25 10:02:01.493850 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493855 | controller | - + REPLICAS=null 2025-11-25 10:02:01.493861 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.493867 | controller | - + exit 1 2025-11-25 10:02:01.493873 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493879 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493884 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493890 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493897 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493904 | controller | -o json 2025-11-25 10:02:01.493910 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493917 | controller | - + REPLICAS=null 2025-11-25 10:02:01.493924 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.493930 | controller | - + exit 1 2025-11-25 10:02:01.493936 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.493942 | controller | - + '[' -z mariadb ']' 2025-11-25 10:02:01.493947 | controller | - + '[' mariadb = rabbitmq-cluster ']' 2025-11-25 10:02:01.493953 | controller | - + DEPL_NAME=mariadb-operator-controller-manager 2025-11-25 10:02:01.493972 | controller | - ++ oc get -n openstack-operators deployment mariadb-operator-controller-manager 2025-11-25 10:02:01.493979 | controller | -o json 2025-11-25 10:02:01.493985 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.493990 | controller | - + REPLICAS=1 2025-11-25 10:02:01.493996 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.494002 | controller | - + echo Succeeded 2025-11-25 10:02:01.494008 | controller | - + exit 0 2025-11-25 10:02:01.494014 | controller | - + rc=0 2025-11-25 10:02:01.494020 | controller | - + popd 2025-11-25 10:02:01.494025 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.494031 | controller | - + exit 0 2025-11-25 10:02:01.494040 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.494048 | controller | - bash scripts/operator-deploy-resources.sh 2025-11-25 10:02:01.494055 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.494063 | controller | ']' 2025-11-25 10:02:01.494071 | controller | - + NEXT_WAIT_TIME=0 2025-11-25 10:02:01.494079 | controller | - + '[' 0 -eq 15 ']' 2025-11-25 10:02:01.494085 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr 2025-11-25 10:02:01.494092 | controller | - + oc apply -f - 2025-11-25 10:02:01.494098 | controller | - galera.mariadb.openstack.org/openstack created 2025-11-25 10:02:01.494104 | controller | - + '[' 0 -lt 15 ']' 2025-11-25 10:02:01.494110 | controller | - bash scripts/gen-namespace.sh 2025-11-25 10:02:01.494115 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests ']' 2025-11-25 10:02:01.494121 | controller | - + '[' -z metallb-system ']' 2025-11-25 10:02:01.494127 | controller | - + OUT_DIR=/home/zuul/ci-framework-data/artifacts/manifests/metallb-system 2025-11-25 10:02:01.494133 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system ']' 2025-11-25 10:02:01.494138 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system 2025-11-25 10:02:01.494144 | controller | - + cat 2025-11-25 10:02:01.494150 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml 2025-11-25 10:02:01.494156 | controller | - namespace/metallb-system created 2025-11-25 10:02:01.494162 | controller | - timeout 500s bash -c "while ! (oc get project.v1.project.openshift.io metallb-system); 2025-11-25 10:02:01.494167 | controller | do sleep 1; done" 2025-11-25 10:02:01.494173 | controller | - NAME DISPLAY NAME STATUS 2025-11-25 10:02:01.494179 | controller | - metallb-system Active 2025-11-25 10:02:01.494185 | controller | - bash scripts/gen-olm-metallb.sh 2025-11-25 10:02:01.494190 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.494196 | controller | ']' 2025-11-25 10:02:01.494202 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.494208 | controller | ']' 2025-11-25 10:02:01.494213 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.494219 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.494225 | controller | ']' 2025-11-25 10:02:01.494231 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.494237 | controller | ']' 2025-11-25 10:02:01.494242 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.494248 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.494254 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.494260 | controller | - + echo DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.494265 | controller | - DEPLOY_DIR /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr 2025-11-25 10:02:01.494271 | controller | - + echo INTERFACE 2025-11-25 10:02:01.494277 | controller | - INTERFACE 2025-11-25 10:02:01.494283 | controller | - + cat 2025-11-25 10:02:01.494288 | controller | - + cat 2025-11-25 10:02:01.494294 | controller | - + cat 2025-11-25 10:02:01.494300 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/metallb/op 2025-11-25 10:02:01.494306 | controller | - operatorgroup.operators.coreos.com/metallb-operator created 2025-11-25 10:02:01.494311 | controller | - subscription.operators.coreos.com/metallb-operator-sub created 2025-11-25 10:02:01.494320 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l control-plane=controller-manager 2025-11-25 10:02:01.494326 | controller | -n metallb-system| grep metallb-operator-controller); do sleep 10; done" 2025-11-25 10:02:01.494335 | controller | - No resources found in metallb-system namespace. 2025-11-25 10:02:01.494373 | controller | - No resources found in metallb-system namespace. 2025-11-25 10:02:01.494379 | controller | - metallb-operator-controller-manager-664f78b8b-n7g4f 0/1 ContainerCreating 0 3s 2025-11-25 10:02:01.494385 | controller | - oc wait pod -n metallb-system --for condition=Ready -l control-plane=controller-manager 2025-11-25 10:02:01.494390 | controller | --timeout=500s 2025-11-25 10:02:01.494396 | controller | - pod/metallb-operator-controller-manager-664f78b8b-n7g4f condition met 2025-11-25 10:02:01.494402 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=webhook-server 2025-11-25 10:02:01.494408 | controller | -n metallb-system| grep metallb-operator-webhook); do sleep 10; done" 2025-11-25 10:02:01.494414 | controller | - metallb-operator-webhook-server-75bd4c87d6-fr76c 1/1 Running 0 41s 2025-11-25 10:02:01.494419 | controller | - oc wait pod -n metallb-system --for condition=Ready -l component=webhook-server 2025-11-25 10:02:01.494425 | controller | --timeout=500s 2025-11-25 10:02:01.494431 | controller | - pod/metallb-operator-webhook-server-75bd4c87d6-fr76c condition met 2025-11-25 10:02:01.494437 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml 2025-11-25 10:02:01.494443 | controller | - metallb.metallb.io/metallb created 2025-11-25 10:02:01.494458 | controller | - timeout 500s bash -c "while ! (oc get pod --no-headers=true -l component=speaker 2025-11-25 10:02:01.494464 | controller | -n metallb-system | grep speaker); do sleep 10; done" 2025-11-25 10:02:01.494470 | controller | - No resources found in metallb-system namespace. 2025-11-25 10:02:01.494476 | controller | - speaker-j6bv7 1/2 Running 0 10s 2025-11-25 10:02:01.494481 | controller | - oc wait pod -n metallb-system -l component=speaker --for condition=Ready --timeout=500s 2025-11-25 10:02:01.494487 | controller | - pod/speaker-j6bv7 condition met 2025-11-25 10:02:01.494493 | controller | - bash scripts/gen-olm.sh 2025-11-25 10:02:01.494499 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.494505 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.494511 | controller | - + '[' -z quay.io/openstack-k8s-operators/infra-operator-index:latest ']' 2025-11-25 10:02:01.494516 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494522 | controller | ']' 2025-11-25 10:02:01.494528 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494534 | controller | ']' 2025-11-25 10:02:01.494540 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494545 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 10:02:01.494551 | controller | - + OPERATOR_SOURCE=infra-operator-index 2025-11-25 10:02:01.494557 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 10:02:01.494563 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494569 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494575 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.494580 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.494600 | controller | - + echo OPERATOR_SOURCE infra-operator-index 2025-11-25 10:02:01.494609 | controller | - OPERATOR_SOURCE infra-operator-index 2025-11-25 10:02:01.494615 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.494621 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.494627 | controller | - + cat 2025-11-25 10:02:01.494633 | controller | - + cat 2025-11-25 10:02:01.494638 | controller | - + cat 2025-11-25 10:02:01.494644 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494650 | controller | - catalogsource.operators.coreos.com/infra-operator-index created 2025-11-25 10:02:01.494656 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-11-25 10:02:01.494665 | controller | - subscription.operators.coreos.com/infra-operator created 2025-11-25 10:02:01.494671 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/infra/op 2025-11-25 10:02:01.494677 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.494682 | controller | - bash scripts/clone-operator-repo.sh 2025-11-25 10:02:01.494691 | controller | - 'Cloning repo: git clone -b main https://github.com/openstack-k8s-operators/infra-operator.git 2025-11-25 10:02:01.494697 | controller | infra-operator' 2025-11-25 10:02:01.494703 | controller | - Cloning into 'infra-operator'... 2025-11-25 10:02:01.494709 | controller | - 'Running checkout: git checkout 038f0cf579da' 2025-11-25 10:02:01.494714 | controller | - 'Note: switching to ''038f0cf579da''.' 2025-11-25 10:02:01.494720 | controller | - '' 2025-11-25 10:02:01.494726 | controller | - You are in 'detached HEAD' state. You can look around, make experimental 2025-11-25 10:02:01.494732 | controller | - changes and commit them, and you can discard any commits you make in this 2025-11-25 10:02:01.494738 | controller | - state without impacting any branches by switching back to a branch. 2025-11-25 10:02:01.494744 | controller | - '' 2025-11-25 10:02:01.494749 | controller | - If you want to create a new branch to retain commits you create, you may 2025-11-25 10:02:01.494756 | controller | - 'do so (now or later) by using -c with the switch command. Example:' 2025-11-25 10:02:01.494762 | controller | - '' 2025-11-25 10:02:01.494768 | controller | - ' git switch -c ' 2025-11-25 10:02:01.494774 | controller | - '' 2025-11-25 10:02:01.494779 | controller | - 'Or undo this operation with:' 2025-11-25 10:02:01.494785 | controller | - '' 2025-11-25 10:02:01.494791 | controller | - ' git switch -' 2025-11-25 10:02:01.494797 | controller | - '' 2025-11-25 10:02:01.494803 | controller | - Turn off this advice by setting config variable advice.detachedHead to false 2025-11-25 10:02:01.494809 | controller | - '' 2025-11-25 10:02:01.494814 | controller | - 'HEAD is now at 038f0cf Merge pull request #498 from stuggi/pin_baseimage' 2025-11-25 10:02:01.494820 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/infra-operator/config/samples/memcached_v1beta1_memcached.yaml 2025-11-25 10:02:01.494826 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.494832 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.494838 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.494848 | controller | - ++ cd scripts 2025-11-25 10:02:01.494856 | controller | - ++ pwd -P 2025-11-25 10:02:01.494864 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.494872 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.494879 | controller | --source-only 2025-11-25 10:02:01.494887 | controller | - ++ set -e 2025-11-25 10:02:01.494895 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 10:02:01.494902 | controller | - + '[' -z Memcached ']' 2025-11-25 10:02:01.494910 | controller | - + '[' -z osp-secret ']' 2025-11-25 10:02:01.494918 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.494925 | controller | ']' 2025-11-25 10:02:01.494933 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.494941 | controller | - + REPLACEMENTS= 2025-11-25 10:02:01.494949 | controller | - + IMAGE=unused 2025-11-25 10:02:01.494956 | controller | - + IMAGE_PATH=containerImage 2025-11-25 10:02:01.494964 | controller | - + STORAGE_REQUEST=10G 2025-11-25 10:02:01.494971 | controller | - + INTERFACE_MTU=1500 2025-11-25 10:02:01.494979 | controller | - + VLAN_START=20 2025-11-25 10:02:01.494985 | controller | - + VLAN_STEP=1 2025-11-25 10:02:01.494991 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.494997 | controller | ']' 2025-11-25 10:02:01.495013 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.495020 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.495031 | controller | - + cat 2025-11-25 10:02:01.495039 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.495047 | controller | - + IFS=, 2025-11-25 10:02:01.495054 | controller | - + read -ra IMAGES 2025-11-25 10:02:01.495062 | controller | - + IFS=, 2025-11-25 10:02:01.495069 | controller | - + read -ra IMAGE_PATHS 2025-11-25 10:02:01.495077 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.495084 | controller | - + (( i=0 )) 2025-11-25 10:02:01.495092 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.495099 | controller | - + SPEC_PATH=containerImage 2025-11-25 10:02:01.495104 | controller | - + SPEC_VALUE=unused 2025-11-25 10:02:01.495110 | controller | - + '[' unused '!=' unused ']' 2025-11-25 10:02:01.495116 | controller | - + (( i++ )) 2025-11-25 10:02:01.495122 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.495127 | controller | - + '[' -n memcached ']' 2025-11-25 10:02:01.495133 | controller | - + cat 2025-11-25 10:02:01.495139 | controller | - + '[' Memcached == OpenStackControlPlane ']' 2025-11-25 10:02:01.495145 | controller | - + '[' Memcached == Galera ']' 2025-11-25 10:02:01.495150 | controller | - + '[' Memcached == NetConfig ']' 2025-11-25 10:02:01.495156 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.495162 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.495168 | controller | - + [[ Memcached == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.495174 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.495179 | controller | - + kustomization_add_resources 2025-11-25 10:02:01.495185 | controller | - + echo merge config dir 2025-11-25 10:02:01.495191 | controller | - merge config dir 2025-11-25 10:02:01.495197 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 10:02:01.495202 | controller | - ++ grep -v kustomization 2025-11-25 10:02:01.495208 | controller | - + yamls=./memcached_v1beta1_memcached.yaml 2025-11-25 10:02:01.495214 | controller | - + for y in ${yamls[@]} 2025-11-25 10:02:01.495220 | controller | - + kustomize edit add resource ./memcached_v1beta1_memcached.yaml 2025-11-25 10:02:01.495225 | controller | - + popd 2025-11-25 10:02:01.495231 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.495237 | controller | - make wait 2025-11-25 10:02:01.495243 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.495249 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 10:02:01.495254 | controller | - bash scripts/operator-wait.sh 2025-11-25 10:02:01.495260 | controller | - + TIMEOUT=500s 2025-11-25 10:02:01.495266 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 10:02:01.495272 | controller | - ++ cd scripts 2025-11-25 10:02:01.495277 | controller | - ++ pwd -P 2025-11-25 10:02:01.495283 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.495289 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495295 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495301 | controller | - + '[' infra = rabbitmq ']' 2025-11-25 10:02:01.495306 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.495312 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.495318 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 10:02:01.495324 | controller | ]; do sleep 5; done' 2025-11-25 10:02:01.495329 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495335 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495341 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495347 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495352 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495358 | controller | json 2025-11-25 10:02:01.495364 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495370 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 10:02:01.495375 | controller | not found' 2025-11-25 10:02:01.495384 | controller | - + REPLICAS= 2025-11-25 10:02:01.495393 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.495399 | controller | - + exit 1 2025-11-25 10:02:01.495405 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495411 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495417 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495422 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495428 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495434 | controller | json 2025-11-25 10:02:01.495440 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495445 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 10:02:01.495451 | controller | not found' 2025-11-25 10:02:01.495457 | controller | - + REPLICAS= 2025-11-25 10:02:01.495463 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.495468 | controller | - + exit 1 2025-11-25 10:02:01.495474 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495480 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495486 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495491 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495497 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495503 | controller | json 2025-11-25 10:02:01.495509 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495514 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 10:02:01.495520 | controller | not found' 2025-11-25 10:02:01.495526 | controller | - + REPLICAS= 2025-11-25 10:02:01.495533 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.495541 | controller | - + exit 1 2025-11-25 10:02:01.495548 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495556 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495564 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495571 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495579 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495604 | controller | json 2025-11-25 10:02:01.495616 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495628 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 10:02:01.495636 | controller | not found' 2025-11-25 10:02:01.495643 | controller | - + REPLICAS= 2025-11-25 10:02:01.495651 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.495658 | controller | - + exit 1 2025-11-25 10:02:01.495665 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495673 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495680 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495699 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495707 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495718 | controller | json 2025-11-25 10:02:01.495727 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495734 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 10:02:01.495742 | controller | not found' 2025-11-25 10:02:01.495750 | controller | - + REPLICAS= 2025-11-25 10:02:01.495755 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.495761 | controller | - + exit 1 2025-11-25 10:02:01.495767 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495773 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495779 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495784 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495790 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495797 | controller | json 2025-11-25 10:02:01.495805 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495813 | controller | - 'Error from server (NotFound): deployments.apps "infra-operator-controller-manager" 2025-11-25 10:02:01.495820 | controller | not found' 2025-11-25 10:02:01.495828 | controller | - + REPLICAS= 2025-11-25 10:02:01.495840 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.495848 | controller | - + exit 1 2025-11-25 10:02:01.495854 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495860 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495865 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495871 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495877 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495883 | controller | json 2025-11-25 10:02:01.495889 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495896 | controller | - + REPLICAS=null 2025-11-25 10:02:01.495904 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.495912 | controller | - + exit 1 2025-11-25 10:02:01.495922 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.495930 | controller | - + '[' -z infra ']' 2025-11-25 10:02:01.495937 | controller | - + '[' infra = rabbitmq-cluster ']' 2025-11-25 10:02:01.495945 | controller | - + DEPL_NAME=infra-operator-controller-manager 2025-11-25 10:02:01.495952 | controller | - ++ oc get -n openstack-operators deployment infra-operator-controller-manager -o 2025-11-25 10:02:01.495957 | controller | json 2025-11-25 10:02:01.495963 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.495969 | controller | - + REPLICAS=1 2025-11-25 10:02:01.495975 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.495981 | controller | - + echo Succeeded 2025-11-25 10:02:01.495988 | controller | - + exit 0 2025-11-25 10:02:01.495996 | controller | - + rc=0 2025-11-25 10:02:01.496003 | controller | - + popd 2025-11-25 10:02:01.496011 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.496019 | controller | - + exit 0 2025-11-25 10:02:01.496026 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.496034 | controller | - bash scripts/operator-deploy-resources.sh 2025-11-25 10:02:01.496041 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.496048 | controller | ']' 2025-11-25 10:02:01.496056 | controller | - + NEXT_WAIT_TIME=0 2025-11-25 10:02:01.496063 | controller | - + '[' 0 -eq 15 ']' 2025-11-25 10:02:01.496071 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr 2025-11-25 10:02:01.496078 | controller | - + oc apply -f - 2025-11-25 10:02:01.496086 | controller | - memcached.memcached.openstack.org/memcached created 2025-11-25 10:02:01.496093 | controller | - + '[' 0 -lt 15 ']' 2025-11-25 10:02:01.496100 | controller | - bash scripts/gen-olm.sh 2025-11-25 10:02:01.496107 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.496115 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.496123 | controller | - + '[' -z quay.io/openstack-k8s-operators/rabbitmq-cluster-operator-index:latest 2025-11-25 10:02:01.496130 | controller | ']' 2025-11-25 10:02:01.496138 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.496145 | controller | ']' 2025-11-25 10:02:01.496152 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.496160 | controller | ']' 2025-11-25 10:02:01.496168 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.496175 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 10:02:01.496182 | controller | - + OPERATOR_SOURCE=rabbitmq-cluster-operator-index 2025-11-25 10:02:01.496190 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 10:02:01.496197 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.496205 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.496212 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.496218 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.496225 | controller | - + echo OPERATOR_SOURCE rabbitmq-cluster-operator-index 2025-11-25 10:02:01.496233 | controller | - OPERATOR_SOURCE rabbitmq-cluster-operator-index 2025-11-25 10:02:01.496245 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.496253 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.496261 | controller | - + cat 2025-11-25 10:02:01.496268 | controller | - + cat 2025-11-25 10:02:01.496276 | controller | - + cat 2025-11-25 10:02:01.496283 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op 2025-11-25 10:02:01.496290 | controller | - catalogsource.operators.coreos.com/rabbitmq-cluster-operator-index created 2025-11-25 10:02:01.496298 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-11-25 10:02:01.496305 | controller | - subscription.operators.coreos.com/rabbitmq-cluster-operator created 2025-11-25 10:02:01.496313 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op 2025-11-25 10:02:01.496320 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.496328 | controller | - bash -c "CHECKOUT_FROM_OPENSTACK_REF=false scripts/clone-operator-repo.sh" 2025-11-25 10:02:01.496350 | controller | - 'Cloning repo: git clone -b patches https://github.com/openstack-k8s-operators/rabbitmq-cluster-operator.git 2025-11-25 10:02:01.496358 | controller | rabbitmq-operator' 2025-11-25 10:02:01.496366 | controller | - Cloning into 'rabbitmq-operator'... 2025-11-25 10:02:01.496373 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/rabbitmq-operator/docs/examples/default-security-context/rabbitmq.yaml 2025-11-25 10:02:01.496381 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.496388 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.496396 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.496403 | controller | - ++ cd scripts 2025-11-25 10:02:01.496411 | controller | - ++ pwd -P 2025-11-25 10:02:01.496419 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.496426 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.496434 | controller | --source-only 2025-11-25 10:02:01.496441 | controller | - ++ set -e 2025-11-25 10:02:01.496449 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 10:02:01.496456 | controller | - + '[' -z RabbitmqCluster ']' 2025-11-25 10:02:01.496464 | controller | - + '[' -z osp-secret ']' 2025-11-25 10:02:01.496472 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.496480 | controller | ']' 2025-11-25 10:02:01.496488 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.496496 | controller | - + REPLACEMENTS= 2025-11-25 10:02:01.496504 | controller | - + IMAGE=unused 2025-11-25 10:02:01.496512 | controller | - + IMAGE_PATH=image 2025-11-25 10:02:01.496520 | controller | - + STORAGE_REQUEST=10G 2025-11-25 10:02:01.496529 | controller | - + INTERFACE_MTU=1500 2025-11-25 10:02:01.496537 | controller | - + VLAN_START=20 2025-11-25 10:02:01.496545 | controller | - + VLAN_STEP=1 2025-11-25 10:02:01.496553 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.496561 | controller | ']' 2025-11-25 10:02:01.496569 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.496577 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.496584 | controller | - + cat 2025-11-25 10:02:01.496612 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.496620 | controller | - + IFS=, 2025-11-25 10:02:01.496628 | controller | - + read -ra IMAGES 2025-11-25 10:02:01.496635 | controller | - + IFS=, 2025-11-25 10:02:01.496643 | controller | - + read -ra IMAGE_PATHS 2025-11-25 10:02:01.496651 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.496658 | controller | - + (( i=0 )) 2025-11-25 10:02:01.496666 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.496673 | controller | - + SPEC_PATH=image 2025-11-25 10:02:01.496681 | controller | - + SPEC_VALUE=unused 2025-11-25 10:02:01.496696 | controller | - + '[' unused '!=' unused ']' 2025-11-25 10:02:01.496704 | controller | - + (( i++ )) 2025-11-25 10:02:01.496711 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.496719 | controller | - + '[' -n rabbitmq ']' 2025-11-25 10:02:01.496726 | controller | - + cat 2025-11-25 10:02:01.496734 | controller | - + '[' RabbitmqCluster == OpenStackControlPlane ']' 2025-11-25 10:02:01.496742 | controller | - + '[' RabbitmqCluster == Galera ']' 2025-11-25 10:02:01.496749 | controller | - + '[' RabbitmqCluster == NetConfig ']' 2025-11-25 10:02:01.496757 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.496764 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.496772 | controller | - + [[ RabbitmqCluster == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.496779 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.496786 | controller | - + kustomization_add_resources 2025-11-25 10:02:01.496794 | controller | - + echo merge config dir 2025-11-25 10:02:01.496801 | controller | - merge config dir 2025-11-25 10:02:01.496813 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 10:02:01.496821 | controller | - ++ grep -v kustomization 2025-11-25 10:02:01.496828 | controller | - + yamls=./rabbitmq.yaml 2025-11-25 10:02:01.496834 | controller | - + for y in ${yamls[@]} 2025-11-25 10:02:01.496840 | controller | - + kustomize edit add resource ./rabbitmq.yaml 2025-11-25 10:02:01.496847 | controller | - + popd 2025-11-25 10:02:01.496853 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.496859 | controller | - make wait 2025-11-25 10:02:01.496865 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.496872 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 10:02:01.496878 | controller | - bash scripts/operator-wait.sh 2025-11-25 10:02:01.496884 | controller | - + TIMEOUT=500s 2025-11-25 10:02:01.496890 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 10:02:01.496896 | controller | - ++ cd scripts 2025-11-25 10:02:01.496901 | controller | - ++ pwd -P 2025-11-25 10:02:01.496907 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.496913 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.496919 | controller | - + '[' -z rabbitmq ']' 2025-11-25 10:02:01.496925 | controller | - + '[' rabbitmq = rabbitmq ']' 2025-11-25 10:02:01.496932 | controller | - + OPERATOR_NAME=rabbitmq-cluster 2025-11-25 10:02:01.496940 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.496947 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.496959 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 10:02:01.496968 | controller | ]; do sleep 5; done' 2025-11-25 10:02:01.496976 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.496984 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.496992 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497000 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497008 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497016 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497024 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497032 | controller | found' 2025-11-25 10:02:01.497039 | controller | - + REPLICAS= 2025-11-25 10:02:01.497047 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497060 | controller | - + exit 1 2025-11-25 10:02:01.497068 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497076 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497085 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497093 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497116 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497124 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497132 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497144 | controller | found' 2025-11-25 10:02:01.497152 | controller | - + REPLICAS= 2025-11-25 10:02:01.497159 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497167 | controller | - + exit 1 2025-11-25 10:02:01.497175 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497183 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497191 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497199 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497206 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497214 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497221 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497229 | controller | found' 2025-11-25 10:02:01.497236 | controller | - + REPLICAS= 2025-11-25 10:02:01.497243 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497251 | controller | - + exit 1 2025-11-25 10:02:01.497258 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497266 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497274 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497281 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497289 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497296 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497304 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497311 | controller | found' 2025-11-25 10:02:01.497319 | controller | - + REPLICAS= 2025-11-25 10:02:01.497326 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497333 | controller | - + exit 1 2025-11-25 10:02:01.497341 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497349 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497357 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497364 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497372 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497379 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497387 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497394 | controller | found' 2025-11-25 10:02:01.497402 | controller | - + REPLICAS= 2025-11-25 10:02:01.497409 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497416 | controller | - + exit 1 2025-11-25 10:02:01.497424 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497437 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497445 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497452 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497460 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497467 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497475 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497482 | controller | found' 2025-11-25 10:02:01.497489 | controller | - + REPLICAS= 2025-11-25 10:02:01.497497 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497505 | controller | - + exit 1 2025-11-25 10:02:01.497513 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497520 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497553 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497562 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497569 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497577 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497585 | controller | - 'Error from server (NotFound): deployments.apps "rabbitmq-cluster-operator" not 2025-11-25 10:02:01.497609 | controller | found' 2025-11-25 10:02:01.497621 | controller | - + REPLICAS= 2025-11-25 10:02:01.497629 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.497640 | controller | - + exit 1 2025-11-25 10:02:01.497648 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497656 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497663 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497671 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497679 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497687 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497694 | controller | - + REPLICAS=null 2025-11-25 10:02:01.497702 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.497709 | controller | - + exit 1 2025-11-25 10:02:01.497716 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497724 | controller | - + '[' -z rabbitmq-cluster ']' 2025-11-25 10:02:01.497731 | controller | - + '[' rabbitmq-cluster = rabbitmq-cluster ']' 2025-11-25 10:02:01.497739 | controller | - + DEPL_NAME=rabbitmq-cluster-operator 2025-11-25 10:02:01.497746 | controller | - ++ oc get -n openstack-operators deployment rabbitmq-cluster-operator -o json 2025-11-25 10:02:01.497754 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.497762 | controller | - + REPLICAS=1 2025-11-25 10:02:01.497769 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.497777 | controller | - + echo Succeeded 2025-11-25 10:02:01.497784 | controller | - + exit 0 2025-11-25 10:02:01.497792 | controller | - + rc=0 2025-11-25 10:02:01.497799 | controller | - + popd 2025-11-25 10:02:01.497807 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.497814 | controller | - + exit 0 2025-11-25 10:02:01.497822 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.497830 | controller | - bash scripts/operator-deploy-resources.sh 2025-11-25 10:02:01.497837 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.497845 | controller | ']' 2025-11-25 10:02:01.497853 | controller | - + NEXT_WAIT_TIME=0 2025-11-25 10:02:01.497860 | controller | - + '[' 0 -eq 15 ']' 2025-11-25 10:02:01.497868 | controller | - + oc kustomize /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr 2025-11-25 10:02:01.497875 | controller | - + oc apply -f - 2025-11-25 10:02:01.497882 | controller | - rabbitmqcluster.rabbitmq.com/rabbitmq created 2025-11-25 10:02:01.497890 | controller | - + '[' 0 -lt 15 ']' 2025-11-25 10:02:01.497898 | controller | - bash scripts/gen-olm.sh 2025-11-25 10:02:01.497907 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.497916 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.497926 | controller | - + '[' -z 38.129.56.103:5001/openstack-k8s-operators/keystone-operator-index:aab5cfe1d4a691d84a96189c698c58d261af9e66 2025-11-25 10:02:01.497933 | controller | ']' 2025-11-25 10:02:01.497953 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.497961 | controller | ']' 2025-11-25 10:02:01.497968 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.497975 | controller | ']' 2025-11-25 10:02:01.497983 | controller | - + mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.497991 | controller | - + OPERATOR_CHANNEL=alpha 2025-11-25 10:02:01.497999 | controller | - + OPERATOR_SOURCE=keystone-operator-index 2025-11-25 10:02:01.498007 | controller | - + OPERATOR_SOURCE_NAMESPACE=openstack-operators 2025-11-25 10:02:01.498014 | controller | - + echo OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.498021 | controller | - OPERATOR_DIR /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.498029 | controller | - + echo OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.498036 | controller | - OPERATOR_CHANNEL alpha 2025-11-25 10:02:01.498044 | controller | - + echo OPERATOR_SOURCE keystone-operator-index 2025-11-25 10:02:01.498052 | controller | - OPERATOR_SOURCE keystone-operator-index 2025-11-25 10:02:01.498059 | controller | - + echo OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.498066 | controller | - OPERATOR_SOURCE_NAMESPACE openstack-operators 2025-11-25 10:02:01.498078 | controller | - + cat 2025-11-25 10:02:01.498085 | controller | - + cat 2025-11-25 10:02:01.498092 | controller | - + cat 2025-11-25 10:02:01.498100 | controller | - oc apply -f /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.498107 | controller | - catalogsource.operators.coreos.com/keystone-operator-index created 2025-11-25 10:02:01.498119 | controller | - operatorgroup.operators.coreos.com/openstack unchanged 2025-11-25 10:02:01.498127 | controller | - subscription.operators.coreos.com/keystone-operator created 2025-11-25 10:02:01.498134 | controller | - mkdir -p /home/zuul/ci-framework-data/artifacts/manifests/operator /home/zuul/ci-framework-data/artifacts/manifests/openstack-operators/keystone/op 2025-11-25 10:02:01.498142 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.498150 | controller | - bash scripts/clone-operator-repo.sh 2025-11-25 10:02:01.498158 | controller | - 'Cloning repo: git clone /home/zuul/src/github.com/openstack-k8s-operators/keystone-operator 2025-11-25 10:02:01.498165 | controller | keystone-operator' 2025-11-25 10:02:01.498173 | controller | - Cloning into 'keystone-operator'... 2025-11-25 10:02:01.498181 | controller | - done. 2025-11-25 10:02:01.498189 | controller | - cp /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/config/samples/keystone_v1beta1_keystoneapi.yaml 2025-11-25 10:02:01.498196 | controller | /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.498203 | controller | - bash scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.498211 | controller | - +++ dirname scripts/gen-service-kustomize.sh 2025-11-25 10:02:01.498218 | controller | - ++ cd scripts 2025-11-25 10:02:01.498226 | controller | - ++ pwd -P 2025-11-25 10:02:01.498233 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.498241 | controller | - + . /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts/common.sh 2025-11-25 10:02:01.498248 | controller | --source-only 2025-11-25 10:02:01.498256 | controller | - ++ set -e 2025-11-25 10:02:01.498263 | controller | - + '[' -z keystone-kuttl-tests ']' 2025-11-25 10:02:01.498271 | controller | - + '[' -z KeystoneAPI ']' 2025-11-25 10:02:01.498279 | controller | - + '[' -z osp-secret ']' 2025-11-25 10:02:01.498286 | controller | - + '[' -z /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.498294 | controller | ']' 2025-11-25 10:02:01.498301 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.498309 | controller | - + REPLACEMENTS= 2025-11-25 10:02:01.498316 | controller | - + IMAGE=unused 2025-11-25 10:02:01.498323 | controller | - + IMAGE_PATH=containerImage 2025-11-25 10:02:01.498331 | controller | - + STORAGE_REQUEST=10G 2025-11-25 10:02:01.498338 | controller | - + INTERFACE_MTU=1500 2025-11-25 10:02:01.498346 | controller | - + VLAN_START=20 2025-11-25 10:02:01.498354 | controller | - + VLAN_STEP=1 2025-11-25 10:02:01.498361 | controller | - + '[' '!' -d /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.498369 | controller | ']' 2025-11-25 10:02:01.498376 | controller | - + pushd /home/zuul/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr 2025-11-25 10:02:01.498384 | controller | - ~/ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.498391 | controller | - + cat 2025-11-25 10:02:01.498399 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.498406 | controller | - + IFS=, 2025-11-25 10:02:01.498413 | controller | - + read -ra IMAGES 2025-11-25 10:02:01.498421 | controller | - + IFS=, 2025-11-25 10:02:01.498429 | controller | - + read -ra IMAGE_PATHS 2025-11-25 10:02:01.498436 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.498444 | controller | - + (( i=0 )) 2025-11-25 10:02:01.498451 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.498458 | controller | - + SPEC_PATH=containerImage 2025-11-25 10:02:01.498466 | controller | - + SPEC_VALUE=unused 2025-11-25 10:02:01.498473 | controller | - + '[' unused '!=' unused ']' 2025-11-25 10:02:01.498481 | controller | - + (( i++ )) 2025-11-25 10:02:01.498488 | controller | - + (( i < 1 )) 2025-11-25 10:02:01.498500 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.498508 | controller | - + '[' KeystoneAPI == OpenStackControlPlane ']' 2025-11-25 10:02:01.498515 | controller | - + '[' KeystoneAPI == Galera ']' 2025-11-25 10:02:01.498523 | controller | - + '[' KeystoneAPI == NetConfig ']' 2025-11-25 10:02:01.498530 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.498538 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.498545 | controller | - + [[ KeystoneAPI == \O\p\e\n\S\t\a\c\k\C\o\n\t\r\o\l\P\l\a\n\e ]] 2025-11-25 10:02:01.498553 | controller | - + '[' -n '' ']' 2025-11-25 10:02:01.498560 | controller | - + kustomization_add_resources 2025-11-25 10:02:01.498568 | controller | - + echo merge config dir 2025-11-25 10:02:01.498575 | controller | - merge config dir 2025-11-25 10:02:01.498587 | controller | - ++ find . -type f -name '*.yaml' 2025-11-25 10:02:01.498615 | controller | - ++ grep -v kustomization 2025-11-25 10:02:01.498623 | controller | - + yamls=./keystone_v1beta1_keystoneapi.yaml 2025-11-25 10:02:01.498631 | controller | - + for y in ${yamls[@]} 2025-11-25 10:02:01.498638 | controller | - + kustomize edit add resource ./keystone_v1beta1_keystoneapi.yaml 2025-11-25 10:02:01.498646 | controller | - + popd 2025-11-25 10:02:01.498665 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.498673 | controller | - make wait 2025-11-25 10:02:01.498680 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.498688 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 10:02:01.498696 | controller | - bash scripts/operator-wait.sh 2025-11-25 10:02:01.498704 | controller | - + TIMEOUT=500s 2025-11-25 10:02:01.498711 | controller | - +++ dirname scripts/operator-wait.sh 2025-11-25 10:02:01.498719 | controller | - ++ cd scripts 2025-11-25 10:02:01.498726 | controller | - ++ pwd -P 2025-11-25 10:02:01.498733 | controller | - + SCRIPTPATH=/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.498741 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.498748 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.498756 | controller | - + '[' keystone = rabbitmq ']' 2025-11-25 10:02:01.498763 | controller | - + pushd /home/zuul/src/github.com/openstack-k8s-operators/install_yamls/scripts 2025-11-25 10:02:01.498771 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls/scripts ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.498779 | controller | - + timeout 500s bash -c 'until [ "$(bash ./get-operator-status.sh)" == "Succeeded" 2025-11-25 10:02:01.498786 | controller | ]; do sleep 5; done' 2025-11-25 10:02:01.498794 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.498801 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.498808 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.498816 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.498823 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.498831 | controller | -o json 2025-11-25 10:02:01.498838 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.498846 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 10:02:01.498853 | controller | not found' 2025-11-25 10:02:01.498861 | controller | - + REPLICAS= 2025-11-25 10:02:01.498868 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.498876 | controller | - + exit 1 2025-11-25 10:02:01.498883 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.498891 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.498898 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.498906 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.498913 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.498920 | controller | -o json 2025-11-25 10:02:01.498928 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.498936 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 10:02:01.498943 | controller | not found' 2025-11-25 10:02:01.498951 | controller | - + REPLICAS= 2025-11-25 10:02:01.498963 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.498970 | controller | - + exit 1 2025-11-25 10:02:01.498977 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.498985 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.498992 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499000 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499007 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499015 | controller | -o json 2025-11-25 10:02:01.499022 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499030 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 10:02:01.499037 | controller | not found' 2025-11-25 10:02:01.499045 | controller | - + REPLICAS= 2025-11-25 10:02:01.499052 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.499060 | controller | - + exit 1 2025-11-25 10:02:01.499067 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499075 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499082 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499089 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499097 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499105 | controller | -o json 2025-11-25 10:02:01.499112 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499124 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 10:02:01.499132 | controller | not found' 2025-11-25 10:02:01.499139 | controller | - + REPLICAS= 2025-11-25 10:02:01.499147 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.499154 | controller | - + exit 1 2025-11-25 10:02:01.499162 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499169 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499177 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499184 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499192 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499200 | controller | -o json 2025-11-25 10:02:01.499207 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499214 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 10:02:01.499222 | controller | not found' 2025-11-25 10:02:01.499229 | controller | - + REPLICAS= 2025-11-25 10:02:01.499237 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.499244 | controller | - + exit 1 2025-11-25 10:02:01.499252 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499259 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499267 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499279 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499287 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499294 | controller | -o json 2025-11-25 10:02:01.499302 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499309 | controller | - 'Error from server (NotFound): deployments.apps "keystone-operator-controller-manager" 2025-11-25 10:02:01.499317 | controller | not found' 2025-11-25 10:02:01.499324 | controller | - + REPLICAS= 2025-11-25 10:02:01.499332 | controller | - + '[' '' '!=' 1 ']' 2025-11-25 10:02:01.499339 | controller | - + exit 1 2025-11-25 10:02:01.499347 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499355 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499363 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499370 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499378 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499385 | controller | -o json 2025-11-25 10:02:01.499393 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499400 | controller | - + REPLICAS=null 2025-11-25 10:02:01.499408 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.499427 | controller | - + exit 1 2025-11-25 10:02:01.499436 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499449 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499457 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499465 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499472 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499480 | controller | -o json 2025-11-25 10:02:01.499487 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499494 | controller | - + REPLICAS=null 2025-11-25 10:02:01.499502 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.499510 | controller | - + exit 1 2025-11-25 10:02:01.499518 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499526 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499533 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499541 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499548 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499556 | controller | -o json 2025-11-25 10:02:01.499563 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499571 | controller | - + REPLICAS=null 2025-11-25 10:02:01.499578 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.499586 | controller | - + exit 1 2025-11-25 10:02:01.499616 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499625 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499632 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499640 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499647 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499655 | controller | -o json 2025-11-25 10:02:01.499662 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499669 | controller | - + REPLICAS=null 2025-11-25 10:02:01.499677 | controller | - + '[' null '!=' 1 ']' 2025-11-25 10:02:01.499684 | controller | - + exit 1 2025-11-25 10:02:01.499692 | controller | - + '[' -z openstack-operators ']' 2025-11-25 10:02:01.499700 | controller | - + '[' -z keystone ']' 2025-11-25 10:02:01.499707 | controller | - + '[' keystone = rabbitmq-cluster ']' 2025-11-25 10:02:01.499715 | controller | - + DEPL_NAME=keystone-operator-controller-manager 2025-11-25 10:02:01.499722 | controller | - ++ oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.499730 | controller | -o json 2025-11-25 10:02:01.499737 | controller | - ++ jq -e .status.availableReplicas 2025-11-25 10:02:01.499745 | controller | - + REPLICAS=1 2025-11-25 10:02:01.499752 | controller | - + '[' 1 '!=' 1 ']' 2025-11-25 10:02:01.499760 | controller | - + echo Succeeded 2025-11-25 10:02:01.499767 | controller | - + exit 0 2025-11-25 10:02:01.499774 | controller | - + rc=0 2025-11-25 10:02:01.499782 | controller | - + popd 2025-11-25 10:02:01.499789 | controller | - ~/src/github.com/openstack-k8s-operators/install_yamls 2025-11-25 10:02:01.499796 | controller | - + exit 0 2025-11-25 10:02:01.499804 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.499811 | controller | - make keystone_kuttl_run 2025-11-25 10:02:01.499819 | controller | - 'make[1]: Entering directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.499827 | controller | - 'error: the server doesn''t have a resource type "openstackversion"' 2025-11-25 10:02:01.499834 | controller | - 'KEYSTONE_KUTTL_DIR=/home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.499842 | controller | kubectl-kuttl test --config /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/kuttl-test.yaml 2025-11-25 10:02:01.499849 | controller | /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.499857 | controller | --namespace keystone-kuttl-tests ' 2025-11-25 10:02:01.499864 | controller | - '2025/11/25 09:45:58 kutt-test config testdirs is overridden with args: [ /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.499872 | controller | ]' 2025-11-25 10:02:01.499879 | controller | - === RUN kuttl 2025-11-25 10:02:01.499895 | controller | - ' harness.go:463: starting setup' 2025-11-25 10:02:01.499903 | controller | - ' harness.go:255: running tests using configured kubeconfig.' 2025-11-25 10:02:01.499910 | controller | - ' harness.go:278: Successful connection to cluster at: https://api.crc.testing:6443' 2025-11-25 10:02:01.499918 | controller | - ' harness.go:363: running tests' 2025-11-25 10:02:01.499926 | controller | - ' harness.go:75: going to run test suite with timeout of 800 seconds for each 2025-11-25 10:02:01.499933 | controller | step' 2025-11-25 10:02:01.499941 | controller | - ' harness.go:375: testsuite: /home/zuul/ci-framework-data/artifacts/manifests/operator/keystone-operator/test/kuttl/tests 2025-11-25 10:02:01.499948 | controller | has 5 tests' 2025-11-25 10:02:01.499956 | controller | - === RUN kuttl/harness 2025-11-25 10:02:01.499963 | controller | - === RUN kuttl/harness/change_keystone_config 2025-11-25 10:02:01.499970 | controller | - === PAUSE kuttl/harness/change_keystone_config 2025-11-25 10:02:01.499978 | controller | - === RUN kuttl/harness/fernet_rotation 2025-11-25 10:02:01.499986 | controller | - === PAUSE kuttl/harness/fernet_rotation 2025-11-25 10:02:01.499993 | controller | - === RUN kuttl/harness/keystone_resources 2025-11-25 10:02:01.500001 | controller | - === PAUSE kuttl/harness/keystone_resources 2025-11-25 10:02:01.500009 | controller | - === RUN kuttl/harness/keystone_scale 2025-11-25 10:02:01.500016 | controller | - === PAUSE kuttl/harness/keystone_scale 2025-11-25 10:02:01.500023 | controller | - === RUN kuttl/harness/keystone_tls 2025-11-25 10:02:01.500031 | controller | - === PAUSE kuttl/harness/keystone_tls 2025-11-25 10:02:01.500038 | controller | - === CONT kuttl/harness/change_keystone_config 2025-11-25 10:02:01.500046 | controller | - ' logger.go:42: 09:45:58 | change_keystone_config | Skipping creation of user-supplied 2025-11-25 10:02:01.500053 | controller | namespace: keystone-kuttl-tests' 2025-11-25 10:02:01.500061 | controller | - ' logger.go:42: 09:45:58 | change_keystone_config/0-deploy_keystone | starting 2025-11-25 10:02:01.500068 | controller | test step 0-deploy_keystone' 2025-11-25 10:02:01.500076 | controller | - ' logger.go:42: 09:45:58 | change_keystone_config/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 10:02:01.500083 | controller | created' 2025-11-25 10:02:01.500094 | controller | - ' logger.go:42: 09:45:58 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.500114 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.500122 | controller | so we can''t rely on' 2025-11-25 10:02:01.500129 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.500137 | controller | and checks that' 2025-11-25 10:02:01.500144 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.500152 | controller | pattern' 2025-11-25 10:02:01.500160 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.500168 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.500175 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.500183 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.500190 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.500198 | controller | - ' exit 0' 2025-11-25 10:02:01.500205 | controller | - ' else' 2025-11-25 10:02:01.500213 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.500220 | controller | - ' exit 1' 2025-11-25 10:02:01.500227 | controller | - ' fi' 2025-11-25 10:02:01.500235 | controller | - ' ' 2025-11-25 10:02:01.500243 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.500250 | controller | them with a script' 2025-11-25 10:02:01.500258 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.500266 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.500277 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.500285 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.500292 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.500307 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.500315 | controller | - ' # it is an image' 2025-11-25 10:02:01.500322 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.500330 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.500337 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.500345 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.500353 | controller | - ' case $NAME in' 2025-11-25 10:02:01.500360 | controller | - ' API)' 2025-11-25 10:02:01.500368 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.500375 | controller | - ' ;;' 2025-11-25 10:02:01.500383 | controller | - ' esac' 2025-11-25 10:02:01.500394 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.500401 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.500409 | controller | - ' exit 1' 2025-11-25 10:02:01.500420 | controller | - ' fi' 2025-11-25 10:02:01.500428 | controller | - ' fi' 2025-11-25 10:02:01.500435 | controller | - ' done' 2025-11-25 10:02:01.500443 | controller | - ' ]' 2025-11-25 10:02:01.500450 | controller | - ' logger.go:42: 09:45:58 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.500458 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.500465 | controller | - ' logger.go:42: 09:45:59 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.500473 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.500480 | controller | so we can''t rely on' 2025-11-25 10:02:01.500488 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.500495 | controller | and checks that' 2025-11-25 10:02:01.500503 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.500511 | controller | pattern' 2025-11-25 10:02:01.500518 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.500526 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.500533 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.500541 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.500548 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.500556 | controller | - ' exit 0' 2025-11-25 10:02:01.500563 | controller | - ' else' 2025-11-25 10:02:01.500571 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.500578 | controller | - ' exit 1' 2025-11-25 10:02:01.500586 | controller | - ' fi' 2025-11-25 10:02:01.500613 | controller | - ' ' 2025-11-25 10:02:01.500622 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.500629 | controller | them with a script' 2025-11-25 10:02:01.500637 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.500644 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.500652 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.500659 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.500671 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.500687 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.500694 | controller | - ' # it is an image' 2025-11-25 10:02:01.500713 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.500721 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.500729 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.500736 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.500744 | controller | - ' case $NAME in' 2025-11-25 10:02:01.500751 | controller | - ' API)' 2025-11-25 10:02:01.500759 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.500767 | controller | - ' ;;' 2025-11-25 10:02:01.500774 | controller | - ' esac' 2025-11-25 10:02:01.500782 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.500790 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.500797 | controller | - ' exit 1' 2025-11-25 10:02:01.500805 | controller | - ' fi' 2025-11-25 10:02:01.500812 | controller | - ' fi' 2025-11-25 10:02:01.500819 | controller | - ' done' 2025-11-25 10:02:01.500827 | controller | - ' ]' 2025-11-25 10:02:01.500834 | controller | - ' logger.go:42: 09:45:59 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.500842 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.500854 | controller | - ' logger.go:42: 09:46:00 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.500862 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.500869 | controller | so we can''t rely on' 2025-11-25 10:02:01.500877 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.500884 | controller | and checks that' 2025-11-25 10:02:01.500892 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.500901 | controller | pattern' 2025-11-25 10:02:01.500909 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.500918 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.500927 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.500934 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.500942 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.500950 | controller | - ' exit 0' 2025-11-25 10:02:01.500957 | controller | - ' else' 2025-11-25 10:02:01.500965 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.500976 | controller | - ' exit 1' 2025-11-25 10:02:01.500984 | controller | - ' fi' 2025-11-25 10:02:01.500991 | controller | - ' ' 2025-11-25 10:02:01.500999 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.501006 | controller | them with a script' 2025-11-25 10:02:01.501014 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.501021 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.501029 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.501037 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.501044 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.501063 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.501071 | controller | - ' # it is an image' 2025-11-25 10:02:01.501078 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.501086 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.501097 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.501105 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.501112 | controller | - ' case $NAME in' 2025-11-25 10:02:01.501120 | controller | - ' API)' 2025-11-25 10:02:01.501128 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.501135 | controller | - ' ;;' 2025-11-25 10:02:01.501143 | controller | - ' esac' 2025-11-25 10:02:01.501150 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.501157 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.501165 | controller | - ' exit 1' 2025-11-25 10:02:01.501172 | controller | - ' fi' 2025-11-25 10:02:01.501180 | controller | - ' fi' 2025-11-25 10:02:01.501187 | controller | - ' done' 2025-11-25 10:02:01.501195 | controller | - ' ]' 2025-11-25 10:02:01.501203 | controller | - ' logger.go:42: 09:46:00 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.501210 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.501218 | controller | - ' logger.go:42: 09:46:01 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.501225 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.501233 | controller | so we can''t rely on' 2025-11-25 10:02:01.501240 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.501247 | controller | and checks that' 2025-11-25 10:02:01.501255 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.501262 | controller | pattern' 2025-11-25 10:02:01.501270 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.501278 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.501296 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.501304 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.501311 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.501319 | controller | - ' exit 0' 2025-11-25 10:02:01.501327 | controller | - ' else' 2025-11-25 10:02:01.501334 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.501342 | controller | - ' exit 1' 2025-11-25 10:02:01.501349 | controller | - ' fi' 2025-11-25 10:02:01.501357 | controller | - ' ' 2025-11-25 10:02:01.501365 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.501372 | controller | them with a script' 2025-11-25 10:02:01.501380 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.501387 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.501395 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.501402 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.501410 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.501425 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.501432 | controller | - ' # it is an image' 2025-11-25 10:02:01.501440 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.501455 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.501463 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.501471 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.501478 | controller | - ' case $NAME in' 2025-11-25 10:02:01.501485 | controller | - ' API)' 2025-11-25 10:02:01.501493 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.501500 | controller | - ' ;;' 2025-11-25 10:02:01.501508 | controller | - ' esac' 2025-11-25 10:02:01.501515 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.501523 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.501548 | controller | - ' exit 1' 2025-11-25 10:02:01.501556 | controller | - ' fi' 2025-11-25 10:02:01.501563 | controller | - ' fi' 2025-11-25 10:02:01.501571 | controller | - ' done' 2025-11-25 10:02:01.501578 | controller | - ' ]' 2025-11-25 10:02:01.501586 | controller | - ' logger.go:42: 09:46:02 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.501609 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.501621 | controller | - ' logger.go:42: 09:46:03 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.501628 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.501636 | controller | so we can''t rely on' 2025-11-25 10:02:01.501643 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.501650 | controller | and checks that' 2025-11-25 10:02:01.501658 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.501665 | controller | pattern' 2025-11-25 10:02:01.501673 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.501680 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.501688 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.501696 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.501703 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.501711 | controller | - ' exit 0' 2025-11-25 10:02:01.501718 | controller | - ' else' 2025-11-25 10:02:01.501725 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.501733 | controller | - ' exit 1' 2025-11-25 10:02:01.501740 | controller | - ' fi' 2025-11-25 10:02:01.501748 | controller | - ' ' 2025-11-25 10:02:01.501755 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.501763 | controller | them with a script' 2025-11-25 10:02:01.501771 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.501778 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.501786 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.501793 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.501800 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.501820 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.501827 | controller | - ' # it is an image' 2025-11-25 10:02:01.501835 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.501843 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.501855 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.501863 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.501870 | controller | - ' case $NAME in' 2025-11-25 10:02:01.501878 | controller | - ' API)' 2025-11-25 10:02:01.501885 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.501893 | controller | - ' ;;' 2025-11-25 10:02:01.501904 | controller | - ' esac' 2025-11-25 10:02:01.501923 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.501931 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.501939 | controller | - ' exit 1' 2025-11-25 10:02:01.501947 | controller | - ' fi' 2025-11-25 10:02:01.501954 | controller | - ' fi' 2025-11-25 10:02:01.501962 | controller | - ' done' 2025-11-25 10:02:01.501969 | controller | - ' ]' 2025-11-25 10:02:01.501977 | controller | - ' logger.go:42: 09:46:03 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.501984 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.501992 | controller | - ' logger.go:42: 09:46:04 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.501999 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.502006 | controller | so we can''t rely on' 2025-11-25 10:02:01.502014 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.502021 | controller | and checks that' 2025-11-25 10:02:01.502029 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.502037 | controller | pattern' 2025-11-25 10:02:01.502044 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.502052 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.502059 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.502067 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.502074 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.502082 | controller | - ' exit 0' 2025-11-25 10:02:01.502089 | controller | - ' else' 2025-11-25 10:02:01.502096 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.502104 | controller | - ' exit 1' 2025-11-25 10:02:01.502111 | controller | - ' fi' 2025-11-25 10:02:01.502119 | controller | - ' ' 2025-11-25 10:02:01.502130 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.502137 | controller | them with a script' 2025-11-25 10:02:01.502145 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.502153 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.502160 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.502168 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.502175 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.502190 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.502197 | controller | - ' # it is an image' 2025-11-25 10:02:01.502205 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.502212 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.502220 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.502227 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.502242 | controller | - ' case $NAME in' 2025-11-25 10:02:01.502250 | controller | - ' API)' 2025-11-25 10:02:01.502257 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.502265 | controller | - ' ;;' 2025-11-25 10:02:01.502272 | controller | - ' esac' 2025-11-25 10:02:01.502280 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.502287 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.502294 | controller | - ' exit 1' 2025-11-25 10:02:01.502302 | controller | - ' fi' 2025-11-25 10:02:01.502310 | controller | - ' fi' 2025-11-25 10:02:01.502317 | controller | - ' done' 2025-11-25 10:02:01.502325 | controller | - ' ]' 2025-11-25 10:02:01.502332 | controller | - ' logger.go:42: 09:46:04 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.502340 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.502347 | controller | - ' logger.go:42: 09:46:05 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.502355 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.502362 | controller | so we can''t rely on' 2025-11-25 10:02:01.502369 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.502377 | controller | and checks that' 2025-11-25 10:02:01.502385 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.502392 | controller | pattern' 2025-11-25 10:02:01.502400 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.502407 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.502415 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.502422 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.502429 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.502437 | controller | - ' exit 0' 2025-11-25 10:02:01.502444 | controller | - ' else' 2025-11-25 10:02:01.502452 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.502459 | controller | - ' exit 1' 2025-11-25 10:02:01.502467 | controller | - ' fi' 2025-11-25 10:02:01.502474 | controller | - ' ' 2025-11-25 10:02:01.502482 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.502489 | controller | them with a script' 2025-11-25 10:02:01.502508 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.502515 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.502523 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.502530 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.502538 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.502553 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.502561 | controller | - ' # it is an image' 2025-11-25 10:02:01.502568 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.502576 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.502583 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.502606 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.502616 | controller | - ' case $NAME in' 2025-11-25 10:02:01.502624 | controller | - ' API)' 2025-11-25 10:02:01.502632 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.502644 | controller | - ' ;;' 2025-11-25 10:02:01.502651 | controller | - ' esac' 2025-11-25 10:02:01.502659 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.502666 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.502674 | controller | - ' exit 1' 2025-11-25 10:02:01.502681 | controller | - ' fi' 2025-11-25 10:02:01.502688 | controller | - ' fi' 2025-11-25 10:02:01.502696 | controller | - ' done' 2025-11-25 10:02:01.502703 | controller | - ' ]' 2025-11-25 10:02:01.502711 | controller | - ' logger.go:42: 09:46:05 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.502719 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.502726 | controller | - ' logger.go:42: 09:46:06 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.502734 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.502741 | controller | so we can''t rely on' 2025-11-25 10:02:01.502749 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.502756 | controller | and checks that' 2025-11-25 10:02:01.502763 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.502771 | controller | pattern' 2025-11-25 10:02:01.502778 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.502786 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.502794 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.502801 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.502809 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.502816 | controller | - ' exit 0' 2025-11-25 10:02:01.502824 | controller | - ' else' 2025-11-25 10:02:01.502831 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.502838 | controller | - ' exit 1' 2025-11-25 10:02:01.502846 | controller | - ' fi' 2025-11-25 10:02:01.502853 | controller | - ' ' 2025-11-25 10:02:01.502861 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.502868 | controller | them with a script' 2025-11-25 10:02:01.502876 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.502884 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.502891 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.502899 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.502906 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.502921 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.502929 | controller | - ' # it is an image' 2025-11-25 10:02:01.502936 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.502943 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.502951 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.502958 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.502966 | controller | - ' case $NAME in' 2025-11-25 10:02:01.502974 | controller | - ' API)' 2025-11-25 10:02:01.502981 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.502989 | controller | - ' ;;' 2025-11-25 10:02:01.502996 | controller | - ' esac' 2025-11-25 10:02:01.503003 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.503015 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.503023 | controller | - ' exit 1' 2025-11-25 10:02:01.503030 | controller | - ' fi' 2025-11-25 10:02:01.503038 | controller | - ' fi' 2025-11-25 10:02:01.503045 | controller | - ' done' 2025-11-25 10:02:01.503053 | controller | - ' ]' 2025-11-25 10:02:01.503060 | controller | - ' logger.go:42: 09:46:06 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.503068 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.503075 | controller | - ' logger.go:42: 09:46:07 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.503095 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.503103 | controller | so we can''t rely on' 2025-11-25 10:02:01.503111 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.503118 | controller | and checks that' 2025-11-25 10:02:01.503126 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.503134 | controller | pattern' 2025-11-25 10:02:01.503141 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.503148 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.503156 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.503163 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.503171 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.503178 | controller | - ' exit 0' 2025-11-25 10:02:01.503186 | controller | - ' else' 2025-11-25 10:02:01.503193 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.503201 | controller | - ' exit 1' 2025-11-25 10:02:01.503209 | controller | - ' fi' 2025-11-25 10:02:01.503216 | controller | - ' ' 2025-11-25 10:02:01.503224 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.503231 | controller | them with a script' 2025-11-25 10:02:01.503238 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.503246 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.503254 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.503261 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.503268 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.503284 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.503291 | controller | - ' # it is an image' 2025-11-25 10:02:01.503299 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.503306 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.503314 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.503321 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.503333 | controller | - ' case $NAME in' 2025-11-25 10:02:01.503340 | controller | - ' API)' 2025-11-25 10:02:01.503348 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.503355 | controller | - ' ;;' 2025-11-25 10:02:01.503363 | controller | - ' esac' 2025-11-25 10:02:01.503370 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.503378 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.503389 | controller | - ' exit 1' 2025-11-25 10:02:01.503400 | controller | - ' fi' 2025-11-25 10:02:01.503407 | controller | - ' fi' 2025-11-25 10:02:01.503415 | controller | - ' done' 2025-11-25 10:02:01.503422 | controller | - ' ]' 2025-11-25 10:02:01.503430 | controller | - ' logger.go:42: 09:46:07 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.503437 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.503445 | controller | - ' logger.go:42: 09:46:08 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.503452 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.503460 | controller | so we can''t rely on' 2025-11-25 10:02:01.503467 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.503475 | controller | and checks that' 2025-11-25 10:02:01.503482 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.503489 | controller | pattern' 2025-11-25 10:02:01.503497 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.503504 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.503515 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.503523 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.503531 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.503538 | controller | - ' exit 0' 2025-11-25 10:02:01.503546 | controller | - ' else' 2025-11-25 10:02:01.503553 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.503561 | controller | - ' exit 1' 2025-11-25 10:02:01.503568 | controller | - ' fi' 2025-11-25 10:02:01.503576 | controller | - ' ' 2025-11-25 10:02:01.503583 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.503606 | controller | them with a script' 2025-11-25 10:02:01.503616 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.503624 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.503631 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.503639 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.503646 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.503665 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.503672 | controller | - ' # it is an image' 2025-11-25 10:02:01.503690 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.503698 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.503704 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.503710 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.503716 | controller | - ' case $NAME in' 2025-11-25 10:02:01.503722 | controller | - ' API)' 2025-11-25 10:02:01.503729 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.503737 | controller | - ' ;;' 2025-11-25 10:02:01.503745 | controller | - ' esac' 2025-11-25 10:02:01.503756 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.503764 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.503770 | controller | - ' exit 1' 2025-11-25 10:02:01.503776 | controller | - ' fi' 2025-11-25 10:02:01.503782 | controller | - ' fi' 2025-11-25 10:02:01.503788 | controller | - ' done' 2025-11-25 10:02:01.503793 | controller | - ' ]' 2025-11-25 10:02:01.503803 | controller | - ' logger.go:42: 09:46:09 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.503809 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.503815 | controller | - ' logger.go:42: 09:46:10 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.503821 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.503827 | controller | so we can''t rely on' 2025-11-25 10:02:01.503833 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.503838 | controller | and checks that' 2025-11-25 10:02:01.503844 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.503850 | controller | pattern' 2025-11-25 10:02:01.503856 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.503862 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.503867 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.503873 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.503879 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.503885 | controller | - ' exit 0' 2025-11-25 10:02:01.503891 | controller | - ' else' 2025-11-25 10:02:01.503896 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.503905 | controller | - ' exit 1' 2025-11-25 10:02:01.503911 | controller | - ' fi' 2025-11-25 10:02:01.503916 | controller | - ' ' 2025-11-25 10:02:01.503922 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.503928 | controller | them with a script' 2025-11-25 10:02:01.503934 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.503940 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.503946 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.503951 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.503957 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.503969 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.503975 | controller | - ' # it is an image' 2025-11-25 10:02:01.503980 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.503986 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.503992 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.503998 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.504003 | controller | - ' case $NAME in' 2025-11-25 10:02:01.504009 | controller | - ' API)' 2025-11-25 10:02:01.504015 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.504021 | controller | - ' ;;' 2025-11-25 10:02:01.504027 | controller | - ' esac' 2025-11-25 10:02:01.504034 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.504042 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.504050 | controller | - ' exit 1' 2025-11-25 10:02:01.504058 | controller | - ' fi' 2025-11-25 10:02:01.504065 | controller | - ' fi' 2025-11-25 10:02:01.504070 | controller | - ' done' 2025-11-25 10:02:01.504078 | controller | - ' ]' 2025-11-25 10:02:01.504085 | controller | - ' logger.go:42: 09:46:10 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.504093 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.504104 | controller | - ' logger.go:42: 09:46:11 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.504111 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.504117 | controller | so we can''t rely on' 2025-11-25 10:02:01.504124 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.504131 | controller | and checks that' 2025-11-25 10:02:01.504139 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.504146 | controller | pattern' 2025-11-25 10:02:01.504154 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.504161 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.504180 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.504187 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.504193 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.504199 | controller | - ' exit 0' 2025-11-25 10:02:01.504204 | controller | - ' else' 2025-11-25 10:02:01.504210 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.504216 | controller | - ' exit 1' 2025-11-25 10:02:01.504223 | controller | - ' fi' 2025-11-25 10:02:01.504228 | controller | - ' ' 2025-11-25 10:02:01.504235 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.504241 | controller | them with a script' 2025-11-25 10:02:01.504246 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.504252 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.504258 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.504264 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.504270 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.504282 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.504288 | controller | - ' # it is an image' 2025-11-25 10:02:01.504294 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.504302 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.504310 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.504317 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.504325 | controller | - ' case $NAME in' 2025-11-25 10:02:01.504333 | controller | - ' API)' 2025-11-25 10:02:01.504340 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.504347 | controller | - ' ;;' 2025-11-25 10:02:01.504355 | controller | - ' esac' 2025-11-25 10:02:01.504362 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.504370 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.504378 | controller | - ' exit 1' 2025-11-25 10:02:01.504386 | controller | - ' fi' 2025-11-25 10:02:01.504393 | controller | - ' fi' 2025-11-25 10:02:01.504401 | controller | - ' done' 2025-11-25 10:02:01.504409 | controller | - ' ]' 2025-11-25 10:02:01.504416 | controller | - ' logger.go:42: 09:46:11 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.504424 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.504432 | controller | - ' logger.go:42: 09:46:12 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.504439 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.504451 | controller | so we can''t rely on' 2025-11-25 10:02:01.504459 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.504467 | controller | and checks that' 2025-11-25 10:02:01.504479 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.504487 | controller | pattern' 2025-11-25 10:02:01.504495 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.504502 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.504510 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.504518 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.504525 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.504533 | controller | - ' exit 0' 2025-11-25 10:02:01.504540 | controller | - ' else' 2025-11-25 10:02:01.504548 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.504555 | controller | - ' exit 1' 2025-11-25 10:02:01.504563 | controller | - ' fi' 2025-11-25 10:02:01.504570 | controller | - ' ' 2025-11-25 10:02:01.504577 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.504583 | controller | them with a script' 2025-11-25 10:02:01.504624 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.504633 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.504640 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.504648 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.504655 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.504670 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.504678 | controller | - ' # it is an image' 2025-11-25 10:02:01.504685 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.504693 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.504701 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.504708 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.504716 | controller | - ' case $NAME in' 2025-11-25 10:02:01.504723 | controller | - ' API)' 2025-11-25 10:02:01.504731 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.504738 | controller | - ' ;;' 2025-11-25 10:02:01.504746 | controller | - ' esac' 2025-11-25 10:02:01.504765 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.504774 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.504782 | controller | - ' exit 1' 2025-11-25 10:02:01.504789 | controller | - ' fi' 2025-11-25 10:02:01.504797 | controller | - ' fi' 2025-11-25 10:02:01.504804 | controller | - ' done' 2025-11-25 10:02:01.504812 | controller | - ' ]' 2025-11-25 10:02:01.504819 | controller | - ' logger.go:42: 09:46:12 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.504826 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.504834 | controller | - ' logger.go:42: 09:46:13 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.504842 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.504850 | controller | so we can''t rely on' 2025-11-25 10:02:01.504857 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.504874 | controller | and checks that' 2025-11-25 10:02:01.504882 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.504889 | controller | pattern' 2025-11-25 10:02:01.504897 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.504904 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.504912 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.504919 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.504927 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.504934 | controller | - ' exit 0' 2025-11-25 10:02:01.504942 | controller | - ' else' 2025-11-25 10:02:01.504950 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.504958 | controller | - ' exit 1' 2025-11-25 10:02:01.504965 | controller | - ' fi' 2025-11-25 10:02:01.504973 | controller | - ' ' 2025-11-25 10:02:01.504980 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.504988 | controller | them with a script' 2025-11-25 10:02:01.504995 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.505003 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.505011 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.505018 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.505026 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.505041 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.505049 | controller | - ' # it is an image' 2025-11-25 10:02:01.505056 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.505064 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.505071 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.505079 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.505086 | controller | - ' case $NAME in' 2025-11-25 10:02:01.505094 | controller | - ' API)' 2025-11-25 10:02:01.505101 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.505109 | controller | - ' ;;' 2025-11-25 10:02:01.505117 | controller | - ' esac' 2025-11-25 10:02:01.505124 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.505132 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.505139 | controller | - ' exit 1' 2025-11-25 10:02:01.505147 | controller | - ' fi' 2025-11-25 10:02:01.505154 | controller | - ' fi' 2025-11-25 10:02:01.505162 | controller | - ' done' 2025-11-25 10:02:01.505169 | controller | - ' ]' 2025-11-25 10:02:01.505176 | controller | - ' logger.go:42: 09:46:13 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.505183 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.505190 | controller | - ' logger.go:42: 09:46:14 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.505197 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.505204 | controller | so we can''t rely on' 2025-11-25 10:02:01.505211 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.505218 | controller | and checks that' 2025-11-25 10:02:01.505226 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.505233 | controller | pattern' 2025-11-25 10:02:01.505245 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.505252 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.505260 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.505267 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.505274 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.505281 | controller | - ' exit 0' 2025-11-25 10:02:01.505289 | controller | - ' else' 2025-11-25 10:02:01.505296 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.505304 | controller | - ' exit 1' 2025-11-25 10:02:01.505312 | controller | - ' fi' 2025-11-25 10:02:01.505319 | controller | - ' ' 2025-11-25 10:02:01.505328 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.505335 | controller | them with a script' 2025-11-25 10:02:01.505356 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.505365 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.505373 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.505381 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.505389 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.505409 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.505417 | controller | - ' # it is an image' 2025-11-25 10:02:01.505424 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.505432 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.505439 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.505447 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.505454 | controller | - ' case $NAME in' 2025-11-25 10:02:01.505462 | controller | - ' API)' 2025-11-25 10:02:01.505470 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.505478 | controller | - ' ;;' 2025-11-25 10:02:01.505485 | controller | - ' esac' 2025-11-25 10:02:01.505493 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.505504 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.505511 | controller | - ' exit 1' 2025-11-25 10:02:01.505519 | controller | - ' fi' 2025-11-25 10:02:01.505526 | controller | - ' fi' 2025-11-25 10:02:01.505585 | controller | - ' done' 2025-11-25 10:02:01.505614 | controller | - ' ]' 2025-11-25 10:02:01.505622 | controller | - ' logger.go:42: 09:46:14 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.505630 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.505637 | controller | - ' logger.go:42: 09:46:15 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.505645 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.505652 | controller | so we can''t rely on' 2025-11-25 10:02:01.505660 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.505668 | controller | and checks that' 2025-11-25 10:02:01.505676 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.505683 | controller | pattern' 2025-11-25 10:02:01.505691 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.505698 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.505711 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.505718 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.505726 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.505733 | controller | - ' exit 0' 2025-11-25 10:02:01.505740 | controller | - ' else' 2025-11-25 10:02:01.505748 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.505756 | controller | - ' exit 1' 2025-11-25 10:02:01.505763 | controller | - ' fi' 2025-11-25 10:02:01.505771 | controller | - ' ' 2025-11-25 10:02:01.505778 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.505785 | controller | them with a script' 2025-11-25 10:02:01.505793 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.505800 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.505807 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.505815 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.505822 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.505837 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.505849 | controller | - ' # it is an image' 2025-11-25 10:02:01.505857 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.505864 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.505872 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.505879 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.505887 | controller | - ' case $NAME in' 2025-11-25 10:02:01.505895 | controller | - ' API)' 2025-11-25 10:02:01.505902 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.505910 | controller | - ' ;;' 2025-11-25 10:02:01.505918 | controller | - ' esac' 2025-11-25 10:02:01.505926 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.505934 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.505941 | controller | - ' exit 1' 2025-11-25 10:02:01.505949 | controller | - ' fi' 2025-11-25 10:02:01.505956 | controller | - ' fi' 2025-11-25 10:02:01.505964 | controller | - ' done' 2025-11-25 10:02:01.505971 | controller | - ' ]' 2025-11-25 10:02:01.505978 | controller | - ' logger.go:42: 09:46:16 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.505986 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.505994 | controller | - ' logger.go:42: 09:46:17 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.506016 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.506025 | controller | so we can''t rely on' 2025-11-25 10:02:01.506033 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.506041 | controller | and checks that' 2025-11-25 10:02:01.506048 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.506055 | controller | pattern' 2025-11-25 10:02:01.506063 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.506071 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.506078 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.506090 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.506098 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.506105 | controller | - ' exit 0' 2025-11-25 10:02:01.506112 | controller | - ' else' 2025-11-25 10:02:01.506120 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.506127 | controller | - ' exit 1' 2025-11-25 10:02:01.506134 | controller | - ' fi' 2025-11-25 10:02:01.506142 | controller | - ' ' 2025-11-25 10:02:01.506154 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.506161 | controller | them with a script' 2025-11-25 10:02:01.506168 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.506176 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.506183 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.506191 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.506198 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.506213 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.506221 | controller | - ' # it is an image' 2025-11-25 10:02:01.506229 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.506236 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.506245 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.506252 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.506260 | controller | - ' case $NAME in' 2025-11-25 10:02:01.506267 | controller | - ' API)' 2025-11-25 10:02:01.506275 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.506283 | controller | - ' ;;' 2025-11-25 10:02:01.506290 | controller | - ' esac' 2025-11-25 10:02:01.506298 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.506305 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.506313 | controller | - ' exit 1' 2025-11-25 10:02:01.506320 | controller | - ' fi' 2025-11-25 10:02:01.506327 | controller | - ' fi' 2025-11-25 10:02:01.506335 | controller | - ' done' 2025-11-25 10:02:01.506342 | controller | - ' ]' 2025-11-25 10:02:01.506350 | controller | - ' logger.go:42: 09:46:17 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.506357 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.506365 | controller | - ' logger.go:42: 09:46:18 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.506373 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.506381 | controller | so we can''t rely on' 2025-11-25 10:02:01.506388 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.506396 | controller | and checks that' 2025-11-25 10:02:01.506403 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.506410 | controller | pattern' 2025-11-25 10:02:01.506418 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.506425 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.506433 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.506445 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.506453 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.506460 | controller | - ' exit 0' 2025-11-25 10:02:01.506472 | controller | - ' else' 2025-11-25 10:02:01.506480 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.506487 | controller | - ' exit 1' 2025-11-25 10:02:01.506494 | controller | - ' fi' 2025-11-25 10:02:01.506502 | controller | - ' ' 2025-11-25 10:02:01.506509 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.506516 | controller | them with a script' 2025-11-25 10:02:01.506524 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.506531 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.506539 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.506546 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.506553 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.506568 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.506576 | controller | - ' # it is an image' 2025-11-25 10:02:01.506613 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.506628 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.506636 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.506644 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.506651 | controller | - ' case $NAME in' 2025-11-25 10:02:01.506664 | controller | - ' API)' 2025-11-25 10:02:01.506672 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.506679 | controller | - ' ;;' 2025-11-25 10:02:01.506687 | controller | - ' esac' 2025-11-25 10:02:01.506695 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.506702 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.506710 | controller | - ' exit 1' 2025-11-25 10:02:01.506717 | controller | - ' fi' 2025-11-25 10:02:01.506725 | controller | - ' fi' 2025-11-25 10:02:01.506733 | controller | - ' done' 2025-11-25 10:02:01.506740 | controller | - ' ]' 2025-11-25 10:02:01.506747 | controller | - ' logger.go:42: 09:46:18 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.506755 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.506763 | controller | - ' logger.go:42: 09:46:19 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.506770 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.506777 | controller | so we can''t rely on' 2025-11-25 10:02:01.506785 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.506793 | controller | and checks that' 2025-11-25 10:02:01.506800 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.506808 | controller | pattern' 2025-11-25 10:02:01.506815 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.506823 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.506831 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.506838 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.506846 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.506853 | controller | - ' exit 0' 2025-11-25 10:02:01.506860 | controller | - ' else' 2025-11-25 10:02:01.506868 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.506876 | controller | - ' exit 1' 2025-11-25 10:02:01.506888 | controller | - ' fi' 2025-11-25 10:02:01.506896 | controller | - ' ' 2025-11-25 10:02:01.506906 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.506914 | controller | them with a script' 2025-11-25 10:02:01.506923 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.506931 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.506938 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.506946 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.506953 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.506968 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.506976 | controller | - ' # it is an image' 2025-11-25 10:02:01.506983 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.506991 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.506998 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.507006 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.507013 | controller | - ' case $NAME in' 2025-11-25 10:02:01.507020 | controller | - ' API)' 2025-11-25 10:02:01.507028 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.507035 | controller | - ' ;;' 2025-11-25 10:02:01.507043 | controller | - ' esac' 2025-11-25 10:02:01.507050 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.507057 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.507064 | controller | - ' exit 1' 2025-11-25 10:02:01.507072 | controller | - ' fi' 2025-11-25 10:02:01.507079 | controller | - ' fi' 2025-11-25 10:02:01.507087 | controller | - ' done' 2025-11-25 10:02:01.507094 | controller | - ' ]' 2025-11-25 10:02:01.507101 | controller | - ' logger.go:42: 09:46:19 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.507109 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.507116 | controller | - ' logger.go:42: 09:46:20 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.507124 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.507131 | controller | so we can''t rely on' 2025-11-25 10:02:01.507143 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.507150 | controller | and checks that' 2025-11-25 10:02:01.507158 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.507165 | controller | pattern' 2025-11-25 10:02:01.507171 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.507176 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.507195 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.507201 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.507207 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.507213 | controller | - ' exit 0' 2025-11-25 10:02:01.507219 | controller | - ' else' 2025-11-25 10:02:01.507225 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.507231 | controller | - ' exit 1' 2025-11-25 10:02:01.507237 | controller | - ' fi' 2025-11-25 10:02:01.507243 | controller | - ' ' 2025-11-25 10:02:01.507249 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.507258 | controller | them with a script' 2025-11-25 10:02:01.507264 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.507270 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.507276 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.507281 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.507287 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.507299 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.507305 | controller | - ' # it is an image' 2025-11-25 10:02:01.507310 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.507316 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.507322 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.507328 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.507333 | controller | - ' case $NAME in' 2025-11-25 10:02:01.507339 | controller | - ' API)' 2025-11-25 10:02:01.507345 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.507351 | controller | - ' ;;' 2025-11-25 10:02:01.507356 | controller | - ' esac' 2025-11-25 10:02:01.507362 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.507368 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.507374 | controller | - ' exit 1' 2025-11-25 10:02:01.507380 | controller | - ' fi' 2025-11-25 10:02:01.507385 | controller | - ' fi' 2025-11-25 10:02:01.507391 | controller | - ' done' 2025-11-25 10:02:01.507397 | controller | - ' ]' 2025-11-25 10:02:01.507403 | controller | - ' logger.go:42: 09:46:20 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.507408 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.507414 | controller | - ' logger.go:42: 09:46:21 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.507420 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.507426 | controller | so we can''t rely on' 2025-11-25 10:02:01.507432 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.507437 | controller | and checks that' 2025-11-25 10:02:01.507443 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.507449 | controller | pattern' 2025-11-25 10:02:01.507455 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.507460 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.507466 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.507472 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.507481 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.507488 | controller | - ' exit 0' 2025-11-25 10:02:01.507493 | controller | - ' else' 2025-11-25 10:02:01.507499 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.507505 | controller | - ' exit 1' 2025-11-25 10:02:01.507511 | controller | - ' fi' 2025-11-25 10:02:01.507517 | controller | - ' ' 2025-11-25 10:02:01.507523 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.507529 | controller | them with a script' 2025-11-25 10:02:01.507535 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.507546 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.507555 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.507561 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.507567 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.507579 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.507585 | controller | - ' # it is an image' 2025-11-25 10:02:01.507606 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.507616 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.507622 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.507628 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.507634 | controller | - ' case $NAME in' 2025-11-25 10:02:01.507640 | controller | - ' API)' 2025-11-25 10:02:01.507646 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.507651 | controller | - ' ;;' 2025-11-25 10:02:01.507657 | controller | - ' esac' 2025-11-25 10:02:01.507672 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.507678 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.507685 | controller | - ' exit 1' 2025-11-25 10:02:01.507690 | controller | - ' fi' 2025-11-25 10:02:01.507696 | controller | - ' fi' 2025-11-25 10:02:01.507703 | controller | - ' done' 2025-11-25 10:02:01.507708 | controller | - ' ]' 2025-11-25 10:02:01.507715 | controller | - ' logger.go:42: 09:46:22 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.507721 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.507727 | controller | - ' logger.go:42: 09:46:23 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.507732 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.507738 | controller | so we can''t rely on' 2025-11-25 10:02:01.507744 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.507750 | controller | and checks that' 2025-11-25 10:02:01.507755 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.507761 | controller | pattern' 2025-11-25 10:02:01.507767 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.507773 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.507779 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.507785 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.507791 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.507797 | controller | - ' exit 0' 2025-11-25 10:02:01.507803 | controller | - ' else' 2025-11-25 10:02:01.507809 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.507814 | controller | - ' exit 1' 2025-11-25 10:02:01.507820 | controller | - ' fi' 2025-11-25 10:02:01.507826 | controller | - ' ' 2025-11-25 10:02:01.507832 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.507837 | controller | them with a script' 2025-11-25 10:02:01.507843 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.507849 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.507855 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.507864 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.507870 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.507883 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.507889 | controller | - ' # it is an image' 2025-11-25 10:02:01.507894 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.507900 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.507906 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.507912 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.507918 | controller | - ' case $NAME in' 2025-11-25 10:02:01.507924 | controller | - ' API)' 2025-11-25 10:02:01.507930 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.507936 | controller | - ' ;;' 2025-11-25 10:02:01.507941 | controller | - ' esac' 2025-11-25 10:02:01.507947 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.507953 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.507959 | controller | - ' exit 1' 2025-11-25 10:02:01.507965 | controller | - ' fi' 2025-11-25 10:02:01.507970 | controller | - ' fi' 2025-11-25 10:02:01.507976 | controller | - ' done' 2025-11-25 10:02:01.507982 | controller | - ' ]' 2025-11-25 10:02:01.507988 | controller | - ' logger.go:42: 09:46:23 | change_keystone_config/0-deploy_keystone | Endpoints 2025-11-25 10:02:01.507994 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.507999 | controller | - ' logger.go:42: 09:46:24 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.508005 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.508011 | controller | so we can''t rely on' 2025-11-25 10:02:01.508017 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.508023 | controller | and checks that' 2025-11-25 10:02:01.508029 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.508037 | controller | pattern' 2025-11-25 10:02:01.508044 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.508052 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.508060 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.508067 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.508075 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.508082 | controller | - ' exit 0' 2025-11-25 10:02:01.508090 | controller | - ' else' 2025-11-25 10:02:01.508097 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.508104 | controller | - ' exit 1' 2025-11-25 10:02:01.508110 | controller | - ' fi' 2025-11-25 10:02:01.508116 | controller | - ' ' 2025-11-25 10:02:01.508121 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.508127 | controller | them with a script' 2025-11-25 10:02:01.508146 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.508153 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.508162 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.508169 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.508175 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.508190 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.508196 | controller | - ' # it is an image' 2025-11-25 10:02:01.508203 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.508209 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.508215 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.508221 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.508227 | controller | - ' case $NAME in' 2025-11-25 10:02:01.508233 | controller | - ' API)' 2025-11-25 10:02:01.508239 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.508245 | controller | - ' ;;' 2025-11-25 10:02:01.508251 | controller | - ' esac' 2025-11-25 10:02:01.508258 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.508263 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.508270 | controller | - ' exit 1' 2025-11-25 10:02:01.508276 | controller | - ' fi' 2025-11-25 10:02:01.508282 | controller | - ' fi' 2025-11-25 10:02:01.508288 | controller | - ' done' 2025-11-25 10:02:01.508294 | controller | - ' ]' 2025-11-25 10:02:01.508300 | controller | - ' logger.go:42: 09:46:25 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.508306 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.508312 | controller | so we can''t rely on' 2025-11-25 10:02:01.508318 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.508325 | controller | and checks that' 2025-11-25 10:02:01.508331 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.508337 | controller | pattern' 2025-11-25 10:02:01.508343 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.508349 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.508355 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.508361 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.508367 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.508373 | controller | - ' exit 0' 2025-11-25 10:02:01.508380 | controller | - ' else' 2025-11-25 10:02:01.508386 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.508392 | controller | - ' exit 1' 2025-11-25 10:02:01.508398 | controller | - ' fi' 2025-11-25 10:02:01.508404 | controller | - ' ' 2025-11-25 10:02:01.508410 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.508416 | controller | them with a script' 2025-11-25 10:02:01.508423 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.508429 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.508435 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.508441 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.508447 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.508460 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.508466 | controller | - ' # it is an image' 2025-11-25 10:02:01.508472 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.508478 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.508487 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.508494 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.508500 | controller | - ' case $NAME in' 2025-11-25 10:02:01.508506 | controller | - ' API)' 2025-11-25 10:02:01.508513 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.508519 | controller | - ' ;;' 2025-11-25 10:02:01.508525 | controller | - ' esac' 2025-11-25 10:02:01.508531 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.508538 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.508544 | controller | - ' exit 1' 2025-11-25 10:02:01.508550 | controller | - ' fi' 2025-11-25 10:02:01.508556 | controller | - ' fi' 2025-11-25 10:02:01.508562 | controller | - ' done' 2025-11-25 10:02:01.508568 | controller | - ' ]' 2025-11-25 10:02:01.508575 | controller | - ' logger.go:42: 09:46:26 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.508581 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.508587 | controller | so we can''t rely on' 2025-11-25 10:02:01.508610 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.508617 | controller | and checks that' 2025-11-25 10:02:01.508624 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.508630 | controller | pattern' 2025-11-25 10:02:01.508645 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.508652 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.508659 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.508666 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.508672 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.508682 | controller | - ' exit 0' 2025-11-25 10:02:01.508688 | controller | - ' else' 2025-11-25 10:02:01.508694 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.508701 | controller | - ' exit 1' 2025-11-25 10:02:01.508709 | controller | - ' fi' 2025-11-25 10:02:01.508715 | controller | - ' ' 2025-11-25 10:02:01.508721 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.508727 | controller | them with a script' 2025-11-25 10:02:01.508733 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.508739 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.508744 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.508750 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.508756 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.508770 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.508777 | controller | - ' # it is an image' 2025-11-25 10:02:01.508783 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.508789 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.508794 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.508800 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.508806 | controller | - ' case $NAME in' 2025-11-25 10:02:01.508812 | controller | - ' API)' 2025-11-25 10:02:01.508818 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.508827 | controller | - ' ;;' 2025-11-25 10:02:01.508833 | controller | - ' esac' 2025-11-25 10:02:01.508839 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.508845 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.508851 | controller | - ' exit 1' 2025-11-25 10:02:01.508858 | controller | - ' fi' 2025-11-25 10:02:01.508865 | controller | - ' fi' 2025-11-25 10:02:01.508873 | controller | - ' done' 2025-11-25 10:02:01.508881 | controller | - ' ]' 2025-11-25 10:02:01.508888 | controller | - ' logger.go:42: 09:46:27 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.508896 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.508902 | controller | so we can''t rely on' 2025-11-25 10:02:01.508908 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.508914 | controller | and checks that' 2025-11-25 10:02:01.508919 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.508925 | controller | pattern' 2025-11-25 10:02:01.508931 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.508937 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.508943 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.508950 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.508958 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.508965 | controller | - ' exit 0' 2025-11-25 10:02:01.508973 | controller | - ' else' 2025-11-25 10:02:01.508980 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.508988 | controller | - ' exit 1' 2025-11-25 10:02:01.508994 | controller | - ' fi' 2025-11-25 10:02:01.509000 | controller | - ' ' 2025-11-25 10:02:01.509006 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.509012 | controller | them with a script' 2025-11-25 10:02:01.509018 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.509024 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.509031 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.509039 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.509047 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.509062 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.509070 | controller | - ' # it is an image' 2025-11-25 10:02:01.509078 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.509085 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.509093 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.509099 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.509105 | controller | - ' case $NAME in' 2025-11-25 10:02:01.509111 | controller | - ' API)' 2025-11-25 10:02:01.509118 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.509134 | controller | - ' ;;' 2025-11-25 10:02:01.509141 | controller | - ' esac' 2025-11-25 10:02:01.509147 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.509154 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.509160 | controller | - ' exit 1' 2025-11-25 10:02:01.509170 | controller | - ' fi' 2025-11-25 10:02:01.509176 | controller | - ' fi' 2025-11-25 10:02:01.509183 | controller | - ' done' 2025-11-25 10:02:01.509189 | controller | - ' ]' 2025-11-25 10:02:01.509195 | controller | - ' logger.go:42: 09:46:28 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.509201 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.509207 | controller | so we can''t rely on' 2025-11-25 10:02:01.509214 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.509220 | controller | and checks that' 2025-11-25 10:02:01.509227 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.509233 | controller | pattern' 2025-11-25 10:02:01.509239 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.509249 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.509255 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.509262 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.509268 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.509274 | controller | - ' exit 0' 2025-11-25 10:02:01.509280 | controller | - ' else' 2025-11-25 10:02:01.509287 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.509293 | controller | - ' exit 1' 2025-11-25 10:02:01.509299 | controller | - ' fi' 2025-11-25 10:02:01.509305 | controller | - ' ' 2025-11-25 10:02:01.509312 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.509318 | controller | them with a script' 2025-11-25 10:02:01.509327 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.509333 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.509339 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.509346 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.509352 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.509364 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.509370 | controller | - ' # it is an image' 2025-11-25 10:02:01.509377 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.509383 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.509389 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.509395 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.509401 | controller | - ' case $NAME in' 2025-11-25 10:02:01.509407 | controller | - ' API)' 2025-11-25 10:02:01.509413 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.509419 | controller | - ' ;;' 2025-11-25 10:02:01.509425 | controller | - ' esac' 2025-11-25 10:02:01.509431 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.509438 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.509444 | controller | - ' exit 1' 2025-11-25 10:02:01.509453 | controller | - ' fi' 2025-11-25 10:02:01.509459 | controller | - ' fi' 2025-11-25 10:02:01.509465 | controller | - ' done' 2025-11-25 10:02:01.509471 | controller | - ' ]' 2025-11-25 10:02:01.509477 | controller | - ' logger.go:42: 09:46:30 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.509484 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.509493 | controller | so we can''t rely on' 2025-11-25 10:02:01.509499 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.509505 | controller | and checks that' 2025-11-25 10:02:01.509511 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.509517 | controller | pattern' 2025-11-25 10:02:01.509523 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.509529 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.509554 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.509560 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.509566 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.509572 | controller | - ' exit 0' 2025-11-25 10:02:01.509578 | controller | - ' else' 2025-11-25 10:02:01.509584 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.509604 | controller | - ' exit 1' 2025-11-25 10:02:01.509614 | controller | - ' fi' 2025-11-25 10:02:01.509620 | controller | - ' ' 2025-11-25 10:02:01.509626 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.509632 | controller | them with a script' 2025-11-25 10:02:01.509638 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.509645 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.509660 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.509666 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.509673 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.509686 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.509692 | controller | - ' # it is an image' 2025-11-25 10:02:01.509698 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.509704 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.509710 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.509716 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.509722 | controller | - ' case $NAME in' 2025-11-25 10:02:01.509728 | controller | - ' API)' 2025-11-25 10:02:01.509734 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.509741 | controller | - ' ;;' 2025-11-25 10:02:01.509749 | controller | - ' esac' 2025-11-25 10:02:01.509757 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.509765 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.509773 | controller | - ' exit 1' 2025-11-25 10:02:01.509780 | controller | - ' fi' 2025-11-25 10:02:01.509786 | controller | - ' fi' 2025-11-25 10:02:01.509792 | controller | - ' done' 2025-11-25 10:02:01.509798 | controller | - ' ]' 2025-11-25 10:02:01.509805 | controller | - ' logger.go:42: 09:46:31 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.509811 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.509816 | controller | so we can''t rely on' 2025-11-25 10:02:01.509823 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.509830 | controller | and checks that' 2025-11-25 10:02:01.509838 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.509854 | controller | pattern' 2025-11-25 10:02:01.509862 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.509870 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.509876 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.509883 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.509889 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.509895 | controller | - ' exit 0' 2025-11-25 10:02:01.509902 | controller | - ' else' 2025-11-25 10:02:01.509914 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.509923 | controller | - ' exit 1' 2025-11-25 10:02:01.509988 | controller | - ' fi' 2025-11-25 10:02:01.509997 | controller | - ' ' 2025-11-25 10:02:01.510003 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.510013 | controller | them with a script' 2025-11-25 10:02:01.510018 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.510025 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.510039 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.510089 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.510103 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.510187 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.510195 | controller | - ' # it is an image' 2025-11-25 10:02:01.510203 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.510212 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.510221 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.510233 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.510242 | controller | - ' case $NAME in' 2025-11-25 10:02:01.510250 | controller | - ' API)' 2025-11-25 10:02:01.510258 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.510266 | controller | - ' ;;' 2025-11-25 10:02:01.510274 | controller | - ' esac' 2025-11-25 10:02:01.510281 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.510290 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.510298 | controller | - ' exit 1' 2025-11-25 10:02:01.510312 | controller | - ' fi' 2025-11-25 10:02:01.510320 | controller | - ' fi' 2025-11-25 10:02:01.510328 | controller | - ' done' 2025-11-25 10:02:01.510336 | controller | - ' ]' 2025-11-25 10:02:01.510343 | controller | - ' logger.go:42: 09:46:32 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.510351 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.510358 | controller | so we can''t rely on' 2025-11-25 10:02:01.510366 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.510373 | controller | and checks that' 2025-11-25 10:02:01.510380 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.510388 | controller | pattern' 2025-11-25 10:02:01.510395 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.510403 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.510423 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.510436 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.510443 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.510451 | controller | - ' exit 0' 2025-11-25 10:02:01.510459 | controller | - ' else' 2025-11-25 10:02:01.510466 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.510474 | controller | - ' exit 1' 2025-11-25 10:02:01.510482 | controller | - ' fi' 2025-11-25 10:02:01.510489 | controller | - ' ' 2025-11-25 10:02:01.510497 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.510504 | controller | them with a script' 2025-11-25 10:02:01.510512 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.510519 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.510527 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.510534 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.510542 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.510557 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.510565 | controller | - ' # it is an image' 2025-11-25 10:02:01.510573 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.510580 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.510588 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.510626 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.510634 | controller | - ' case $NAME in' 2025-11-25 10:02:01.510642 | controller | - ' API)' 2025-11-25 10:02:01.510650 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.510657 | controller | - ' ;;' 2025-11-25 10:02:01.510665 | controller | - ' esac' 2025-11-25 10:02:01.510672 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.510680 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.510687 | controller | - ' exit 1' 2025-11-25 10:02:01.510694 | controller | - ' fi' 2025-11-25 10:02:01.510702 | controller | - ' fi' 2025-11-25 10:02:01.510710 | controller | - ' done' 2025-11-25 10:02:01.510718 | controller | - ' ]' 2025-11-25 10:02:01.510725 | controller | - ' logger.go:42: 09:46:33 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.510733 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.510740 | controller | so we can''t rely on' 2025-11-25 10:02:01.510748 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.510755 | controller | and checks that' 2025-11-25 10:02:01.510763 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.510770 | controller | pattern' 2025-11-25 10:02:01.510778 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.510786 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.510793 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.510801 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.510808 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.510815 | controller | - ' exit 0' 2025-11-25 10:02:01.510823 | controller | - ' else' 2025-11-25 10:02:01.510830 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.510842 | controller | - ' exit 1' 2025-11-25 10:02:01.510850 | controller | - ' fi' 2025-11-25 10:02:01.510858 | controller | - ' ' 2025-11-25 10:02:01.510870 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.510878 | controller | them with a script' 2025-11-25 10:02:01.510885 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.510893 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.510900 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.510908 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.510915 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.510930 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.510937 | controller | - ' # it is an image' 2025-11-25 10:02:01.510945 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.510951 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.510958 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.510964 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.510970 | controller | - ' case $NAME in' 2025-11-25 10:02:01.510976 | controller | - ' API)' 2025-11-25 10:02:01.510982 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.510988 | controller | - ' ;;' 2025-11-25 10:02:01.510994 | controller | - ' esac' 2025-11-25 10:02:01.511000 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.511007 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.511024 | controller | - ' exit 1' 2025-11-25 10:02:01.511032 | controller | - ' fi' 2025-11-25 10:02:01.511040 | controller | - ' fi' 2025-11-25 10:02:01.511048 | controller | - ' done' 2025-11-25 10:02:01.511056 | controller | - ' ]' 2025-11-25 10:02:01.511063 | controller | - ' logger.go:42: 09:46:34 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.511070 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.511078 | controller | so we can''t rely on' 2025-11-25 10:02:01.511085 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.511093 | controller | and checks that' 2025-11-25 10:02:01.511100 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.511108 | controller | pattern' 2025-11-25 10:02:01.511115 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.511122 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.511130 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.511137 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.511145 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.511152 | controller | - ' exit 0' 2025-11-25 10:02:01.511159 | controller | - ' else' 2025-11-25 10:02:01.511167 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.511174 | controller | - ' exit 1' 2025-11-25 10:02:01.511182 | controller | - ' fi' 2025-11-25 10:02:01.511189 | controller | - ' ' 2025-11-25 10:02:01.511196 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.511204 | controller | them with a script' 2025-11-25 10:02:01.511211 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.511223 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.511230 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.511236 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.511246 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.511258 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.511264 | controller | - ' # it is an image' 2025-11-25 10:02:01.511270 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.511279 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.511285 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.511291 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.511297 | controller | - ' case $NAME in' 2025-11-25 10:02:01.511303 | controller | - ' API)' 2025-11-25 10:02:01.511309 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.511315 | controller | - ' ;;' 2025-11-25 10:02:01.511321 | controller | - ' esac' 2025-11-25 10:02:01.511327 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.511333 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.511339 | controller | - ' exit 1' 2025-11-25 10:02:01.511345 | controller | - ' fi' 2025-11-25 10:02:01.511351 | controller | - ' fi' 2025-11-25 10:02:01.511357 | controller | - ' done' 2025-11-25 10:02:01.511362 | controller | - ' ]' 2025-11-25 10:02:01.511368 | controller | - ' logger.go:42: 09:46:36 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.511374 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.511380 | controller | so we can''t rely on' 2025-11-25 10:02:01.511386 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.511392 | controller | and checks that' 2025-11-25 10:02:01.511398 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.511404 | controller | pattern' 2025-11-25 10:02:01.511410 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.511417 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.511423 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.511429 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.511435 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.511441 | controller | - ' exit 0' 2025-11-25 10:02:01.511450 | controller | - ' else' 2025-11-25 10:02:01.511456 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.511462 | controller | - ' exit 1' 2025-11-25 10:02:01.511468 | controller | - ' fi' 2025-11-25 10:02:01.511474 | controller | - ' ' 2025-11-25 10:02:01.511480 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.511486 | controller | them with a script' 2025-11-25 10:02:01.511492 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.511498 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.511504 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.511510 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.511515 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.511544 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.511550 | controller | - ' # it is an image' 2025-11-25 10:02:01.511556 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.511562 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.511568 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.511574 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.511580 | controller | - ' case $NAME in' 2025-11-25 10:02:01.511586 | controller | - ' API)' 2025-11-25 10:02:01.511609 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.511616 | controller | - ' ;;' 2025-11-25 10:02:01.511622 | controller | - ' esac' 2025-11-25 10:02:01.511627 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.511633 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.511639 | controller | - ' exit 1' 2025-11-25 10:02:01.511645 | controller | - ' fi' 2025-11-25 10:02:01.511650 | controller | - ' fi' 2025-11-25 10:02:01.511656 | controller | - ' done' 2025-11-25 10:02:01.511662 | controller | - ' ]' 2025-11-25 10:02:01.511668 | controller | - ' logger.go:42: 09:46:37 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.511674 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.511679 | controller | so we can''t rely on' 2025-11-25 10:02:01.511688 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.511694 | controller | and checks that' 2025-11-25 10:02:01.511700 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.511706 | controller | pattern' 2025-11-25 10:02:01.511712 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.511717 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.511723 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.511729 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.511735 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.511741 | controller | - ' exit 0' 2025-11-25 10:02:01.511746 | controller | - ' else' 2025-11-25 10:02:01.511752 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.511758 | controller | - ' exit 1' 2025-11-25 10:02:01.511764 | controller | - ' fi' 2025-11-25 10:02:01.511769 | controller | - ' ' 2025-11-25 10:02:01.511775 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.511781 | controller | them with a script' 2025-11-25 10:02:01.511787 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.511793 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.511798 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.511804 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.511810 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.511822 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.511827 | controller | - ' # it is an image' 2025-11-25 10:02:01.511833 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.511839 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.511848 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.511854 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.511860 | controller | - ' case $NAME in' 2025-11-25 10:02:01.511865 | controller | - ' API)' 2025-11-25 10:02:01.511871 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.511877 | controller | - ' ;;' 2025-11-25 10:02:01.511883 | controller | - ' esac' 2025-11-25 10:02:01.511889 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.511894 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.511900 | controller | - ' exit 1' 2025-11-25 10:02:01.511906 | controller | - ' fi' 2025-11-25 10:02:01.511912 | controller | - ' fi' 2025-11-25 10:02:01.511918 | controller | - ' done' 2025-11-25 10:02:01.511924 | controller | - ' ]' 2025-11-25 10:02:01.511931 | controller | - ' logger.go:42: 09:46:38 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.511939 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.511947 | controller | so we can''t rely on' 2025-11-25 10:02:01.511954 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.511962 | controller | and checks that' 2025-11-25 10:02:01.511986 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.511993 | controller | pattern' 2025-11-25 10:02:01.511998 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.512004 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.512010 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.512016 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.512022 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.512039 | controller | - ' exit 0' 2025-11-25 10:02:01.512048 | controller | - ' else' 2025-11-25 10:02:01.512056 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.512064 | controller | - ' exit 1' 2025-11-25 10:02:01.512071 | controller | - ' fi' 2025-11-25 10:02:01.512079 | controller | - ' ' 2025-11-25 10:02:01.512086 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.512093 | controller | them with a script' 2025-11-25 10:02:01.512099 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.512107 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.512112 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.512118 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.512125 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.512141 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.512147 | controller | - ' # it is an image' 2025-11-25 10:02:01.512153 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.512159 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.512165 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.512170 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.512176 | controller | - ' case $NAME in' 2025-11-25 10:02:01.512182 | controller | - ' API)' 2025-11-25 10:02:01.512194 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.512200 | controller | - ' ;;' 2025-11-25 10:02:01.512206 | controller | - ' esac' 2025-11-25 10:02:01.512212 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.512218 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.512223 | controller | - ' exit 1' 2025-11-25 10:02:01.512229 | controller | - ' fi' 2025-11-25 10:02:01.512235 | controller | - ' fi' 2025-11-25 10:02:01.512241 | controller | - ' done' 2025-11-25 10:02:01.512247 | controller | - ' ]' 2025-11-25 10:02:01.512252 | controller | - ' logger.go:42: 09:46:39 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.512258 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.512264 | controller | so we can''t rely on' 2025-11-25 10:02:01.512270 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.512276 | controller | and checks that' 2025-11-25 10:02:01.512282 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.512287 | controller | pattern' 2025-11-25 10:02:01.512293 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.512299 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.512305 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.512311 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.512317 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.512322 | controller | - ' exit 0' 2025-11-25 10:02:01.512328 | controller | - ' else' 2025-11-25 10:02:01.512334 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.512340 | controller | - ' exit 1' 2025-11-25 10:02:01.512346 | controller | - ' fi' 2025-11-25 10:02:01.512351 | controller | - ' ' 2025-11-25 10:02:01.512357 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.512363 | controller | them with a script' 2025-11-25 10:02:01.512369 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.512375 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.512380 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.512386 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.512392 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.512404 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.512409 | controller | - ' # it is an image' 2025-11-25 10:02:01.512415 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.512421 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.512427 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.512433 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.512438 | controller | - ' case $NAME in' 2025-11-25 10:02:01.512444 | controller | - ' API)' 2025-11-25 10:02:01.512450 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.512456 | controller | - ' ;;' 2025-11-25 10:02:01.512462 | controller | - ' esac' 2025-11-25 10:02:01.512468 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.512473 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.512482 | controller | - ' exit 1' 2025-11-25 10:02:01.512488 | controller | - ' fi' 2025-11-25 10:02:01.512494 | controller | - ' fi' 2025-11-25 10:02:01.512500 | controller | - ' done' 2025-11-25 10:02:01.512505 | controller | - ' ]' 2025-11-25 10:02:01.512511 | controller | - ' logger.go:42: 09:46:40 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.512531 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.512538 | controller | so we can''t rely on' 2025-11-25 10:02:01.512543 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.512549 | controller | and checks that' 2025-11-25 10:02:01.512558 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.512564 | controller | pattern' 2025-11-25 10:02:01.512570 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.512576 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.512581 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.512587 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.512609 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.512616 | controller | - ' exit 0' 2025-11-25 10:02:01.512622 | controller | - ' else' 2025-11-25 10:02:01.512628 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.512634 | controller | - ' exit 1' 2025-11-25 10:02:01.512639 | controller | - ' fi' 2025-11-25 10:02:01.512645 | controller | - ' ' 2025-11-25 10:02:01.512651 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.512657 | controller | them with a script' 2025-11-25 10:02:01.512663 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.512669 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.512674 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.512680 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.512686 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.512698 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.512703 | controller | - ' # it is an image' 2025-11-25 10:02:01.512709 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.512715 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.512721 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.512728 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.512735 | controller | - ' case $NAME in' 2025-11-25 10:02:01.512742 | controller | - ' API)' 2025-11-25 10:02:01.512748 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.512754 | controller | - ' ;;' 2025-11-25 10:02:01.512759 | controller | - ' esac' 2025-11-25 10:02:01.512765 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.512771 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.512777 | controller | - ' exit 1' 2025-11-25 10:02:01.512784 | controller | - ' fi' 2025-11-25 10:02:01.512791 | controller | - ' fi' 2025-11-25 10:02:01.512798 | controller | - ' done' 2025-11-25 10:02:01.512804 | controller | - ' ]' 2025-11-25 10:02:01.512811 | controller | - ' logger.go:42: 09:46:42 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.512821 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.512828 | controller | so we can''t rely on' 2025-11-25 10:02:01.512834 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.512841 | controller | and checks that' 2025-11-25 10:02:01.512848 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.512854 | controller | pattern' 2025-11-25 10:02:01.512861 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.512868 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.512878 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.512885 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.512892 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.512899 | controller | - ' exit 0' 2025-11-25 10:02:01.512907 | controller | - ' else' 2025-11-25 10:02:01.512913 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.512920 | controller | - ' exit 1' 2025-11-25 10:02:01.512927 | controller | - ' fi' 2025-11-25 10:02:01.512933 | controller | - ' ' 2025-11-25 10:02:01.512938 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.512944 | controller | them with a script' 2025-11-25 10:02:01.512950 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.512956 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.512961 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.512967 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.512973 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.512985 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.512990 | controller | - ' # it is an image' 2025-11-25 10:02:01.512996 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.513012 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.513021 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.513033 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.513041 | controller | - ' case $NAME in' 2025-11-25 10:02:01.513049 | controller | - ' API)' 2025-11-25 10:02:01.513056 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.513064 | controller | - ' ;;' 2025-11-25 10:02:01.513071 | controller | - ' esac' 2025-11-25 10:02:01.513078 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.513085 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.513092 | controller | - ' exit 1' 2025-11-25 10:02:01.513100 | controller | - ' fi' 2025-11-25 10:02:01.513107 | controller | - ' fi' 2025-11-25 10:02:01.513114 | controller | - ' done' 2025-11-25 10:02:01.513120 | controller | - ' ]' 2025-11-25 10:02:01.513125 | controller | - ' logger.go:42: 09:46:43 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.513131 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.513137 | controller | so we can''t rely on' 2025-11-25 10:02:01.513147 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.513153 | controller | and checks that' 2025-11-25 10:02:01.513158 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.513168 | controller | pattern' 2025-11-25 10:02:01.513174 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.513180 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.513185 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.513191 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.513197 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.513203 | controller | - ' exit 0' 2025-11-25 10:02:01.513209 | controller | - ' else' 2025-11-25 10:02:01.513214 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.513220 | controller | - ' exit 1' 2025-11-25 10:02:01.513226 | controller | - ' fi' 2025-11-25 10:02:01.513232 | controller | - ' ' 2025-11-25 10:02:01.513238 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.513243 | controller | them with a script' 2025-11-25 10:02:01.513249 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.513255 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.513261 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.513266 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.513272 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.513284 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.513290 | controller | - ' # it is an image' 2025-11-25 10:02:01.513296 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.513301 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.513310 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.513316 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.513321 | controller | - ' case $NAME in' 2025-11-25 10:02:01.513327 | controller | - ' API)' 2025-11-25 10:02:01.513333 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.513339 | controller | - ' ;;' 2025-11-25 10:02:01.513345 | controller | - ' esac' 2025-11-25 10:02:01.513350 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.513356 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.513362 | controller | - ' exit 1' 2025-11-25 10:02:01.513368 | controller | - ' fi' 2025-11-25 10:02:01.513373 | controller | - ' fi' 2025-11-25 10:02:01.513379 | controller | - ' done' 2025-11-25 10:02:01.513385 | controller | - ' ]' 2025-11-25 10:02:01.513391 | controller | - ' logger.go:42: 09:46:44 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.513397 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.513402 | controller | so we can''t rely on' 2025-11-25 10:02:01.513408 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.513414 | controller | and checks that' 2025-11-25 10:02:01.513420 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.513425 | controller | pattern' 2025-11-25 10:02:01.513431 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.513437 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.513443 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.513451 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.513457 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.513463 | controller | - ' exit 0' 2025-11-25 10:02:01.513469 | controller | - ' else' 2025-11-25 10:02:01.513475 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.513480 | controller | - ' exit 1' 2025-11-25 10:02:01.513486 | controller | - ' fi' 2025-11-25 10:02:01.513492 | controller | - ' ' 2025-11-25 10:02:01.513564 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.513574 | controller | them with a script' 2025-11-25 10:02:01.513580 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.513586 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.513619 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.513629 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.513635 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.513649 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.513656 | controller | - ' # it is an image' 2025-11-25 10:02:01.513664 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.513671 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.513679 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.513686 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.513693 | controller | - ' case $NAME in' 2025-11-25 10:02:01.513700 | controller | - ' API)' 2025-11-25 10:02:01.513722 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.513729 | controller | - ' ;;' 2025-11-25 10:02:01.513736 | controller | - ' esac' 2025-11-25 10:02:01.513742 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.513747 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.513754 | controller | - ' exit 1' 2025-11-25 10:02:01.513760 | controller | - ' fi' 2025-11-25 10:02:01.513766 | controller | - ' fi' 2025-11-25 10:02:01.513771 | controller | - ' done' 2025-11-25 10:02:01.513777 | controller | - ' ]' 2025-11-25 10:02:01.513783 | controller | - ' logger.go:42: 09:46:45 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.513789 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.513795 | controller | so we can''t rely on' 2025-11-25 10:02:01.513804 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.513810 | controller | and checks that' 2025-11-25 10:02:01.513816 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.513822 | controller | pattern' 2025-11-25 10:02:01.513828 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.513833 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.513839 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.513845 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.513851 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.513857 | controller | - ' exit 0' 2025-11-25 10:02:01.513863 | controller | - ' else' 2025-11-25 10:02:01.513869 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.513878 | controller | - ' exit 1' 2025-11-25 10:02:01.513885 | controller | - ' fi' 2025-11-25 10:02:01.513890 | controller | - ' ' 2025-11-25 10:02:01.513896 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.513902 | controller | them with a script' 2025-11-25 10:02:01.513908 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.513914 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.513920 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.513925 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.513931 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.513943 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.513949 | controller | - ' # it is an image' 2025-11-25 10:02:01.513954 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.513960 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.513966 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.513972 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.513977 | controller | - ' case $NAME in' 2025-11-25 10:02:01.513983 | controller | - ' API)' 2025-11-25 10:02:01.513989 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.513995 | controller | - ' ;;' 2025-11-25 10:02:01.514001 | controller | - ' esac' 2025-11-25 10:02:01.514006 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.514012 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.514018 | controller | - ' exit 1' 2025-11-25 10:02:01.514024 | controller | - ' fi' 2025-11-25 10:02:01.514030 | controller | - ' fi' 2025-11-25 10:02:01.514038 | controller | - ' done' 2025-11-25 10:02:01.514045 | controller | - ' ]' 2025-11-25 10:02:01.514053 | controller | - ' logger.go:42: 09:46:46 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.514060 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.514171 | controller | so we can''t rely on' 2025-11-25 10:02:01.514181 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.514187 | controller | and checks that' 2025-11-25 10:02:01.514204 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.514212 | controller | pattern' 2025-11-25 10:02:01.514219 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.514227 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.514234 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.514241 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.514249 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.514256 | controller | - ' exit 0' 2025-11-25 10:02:01.514264 | controller | - ' else' 2025-11-25 10:02:01.514271 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.514278 | controller | - ' exit 1' 2025-11-25 10:02:01.514286 | controller | - ' fi' 2025-11-25 10:02:01.514293 | controller | - ' ' 2025-11-25 10:02:01.514300 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.514308 | controller | them with a script' 2025-11-25 10:02:01.514321 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.514329 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.514336 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.514343 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.514349 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.514361 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.514366 | controller | - ' # it is an image' 2025-11-25 10:02:01.514372 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.514378 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.514386 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.514394 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.514401 | controller | - ' case $NAME in' 2025-11-25 10:02:01.514408 | controller | - ' API)' 2025-11-25 10:02:01.514416 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.514423 | controller | - ' ;;' 2025-11-25 10:02:01.514430 | controller | - ' esac' 2025-11-25 10:02:01.514438 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.514445 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.514453 | controller | - ' exit 1' 2025-11-25 10:02:01.514460 | controller | - ' fi' 2025-11-25 10:02:01.514468 | controller | - ' fi' 2025-11-25 10:02:01.514474 | controller | - ' done' 2025-11-25 10:02:01.514480 | controller | - ' ]' 2025-11-25 10:02:01.514486 | controller | - ' logger.go:42: 09:46:48 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.514496 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.514502 | controller | so we can''t rely on' 2025-11-25 10:02:01.514508 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.514514 | controller | and checks that' 2025-11-25 10:02:01.514519 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.514525 | controller | pattern' 2025-11-25 10:02:01.514531 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.514537 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.514543 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.514548 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.514554 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.514560 | controller | - ' exit 0' 2025-11-25 10:02:01.514566 | controller | - ' else' 2025-11-25 10:02:01.514572 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.514578 | controller | - ' exit 1' 2025-11-25 10:02:01.514583 | controller | - ' fi' 2025-11-25 10:02:01.514609 | controller | - ' ' 2025-11-25 10:02:01.514620 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.514626 | controller | them with a script' 2025-11-25 10:02:01.514631 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.514637 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.514643 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.514649 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.514658 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.514670 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.514676 | controller | - ' # it is an image' 2025-11-25 10:02:01.514682 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.514687 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.514693 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.514699 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.514705 | controller | - ' case $NAME in' 2025-11-25 10:02:01.514712 | controller | - ' API)' 2025-11-25 10:02:01.514736 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.514743 | controller | - ' ;;' 2025-11-25 10:02:01.514780 | controller | - ' esac' 2025-11-25 10:02:01.514788 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.514794 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.514801 | controller | - ' exit 1' 2025-11-25 10:02:01.514807 | controller | - ' fi' 2025-11-25 10:02:01.514846 | controller | - ' fi' 2025-11-25 10:02:01.514855 | controller | - ' done' 2025-11-25 10:02:01.514861 | controller | - ' ]' 2025-11-25 10:02:01.514868 | controller | - ' logger.go:42: 09:46:49 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.514874 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.514880 | controller | so we can''t rely on' 2025-11-25 10:02:01.514886 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.514892 | controller | and checks that' 2025-11-25 10:02:01.514898 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.514904 | controller | pattern' 2025-11-25 10:02:01.514910 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.514915 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.514921 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.514928 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.514934 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.514940 | controller | - ' exit 0' 2025-11-25 10:02:01.514946 | controller | - ' else' 2025-11-25 10:02:01.514952 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.514958 | controller | - ' exit 1' 2025-11-25 10:02:01.514964 | controller | - ' fi' 2025-11-25 10:02:01.514970 | controller | - ' ' 2025-11-25 10:02:01.514976 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.514982 | controller | them with a script' 2025-11-25 10:02:01.514988 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.514994 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.514999 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.515005 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.515011 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.515023 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.515083 | controller | - ' # it is an image' 2025-11-25 10:02:01.515095 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.515108 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.515116 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.515124 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.515131 | controller | - ' case $NAME in' 2025-11-25 10:02:01.515138 | controller | - ' API)' 2025-11-25 10:02:01.515145 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.515152 | controller | - ' ;;' 2025-11-25 10:02:01.515159 | controller | - ' esac' 2025-11-25 10:02:01.515166 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.515173 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.515180 | controller | - ' exit 1' 2025-11-25 10:02:01.515187 | controller | - ' fi' 2025-11-25 10:02:01.515199 | controller | - ' fi' 2025-11-25 10:02:01.515250 | controller | - ' done' 2025-11-25 10:02:01.515257 | controller | - ' ]' 2025-11-25 10:02:01.515268 | controller | - ' logger.go:42: 09:46:50 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.515275 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.515281 | controller | so we can''t rely on' 2025-11-25 10:02:01.515287 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.515294 | controller | and checks that' 2025-11-25 10:02:01.515305 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.515362 | controller | pattern' 2025-11-25 10:02:01.515379 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.515387 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.515394 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.515402 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.515410 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.515418 | controller | - ' exit 0' 2025-11-25 10:02:01.515426 | controller | - ' else' 2025-11-25 10:02:01.515433 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.515468 | controller | - ' exit 1' 2025-11-25 10:02:01.515477 | controller | - ' fi' 2025-11-25 10:02:01.515484 | controller | - ' ' 2025-11-25 10:02:01.515492 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.515500 | controller | them with a script' 2025-11-25 10:02:01.515531 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.515567 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.515586 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.515611 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.515619 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.515638 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.515644 | controller | - ' # it is an image' 2025-11-25 10:02:01.515671 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.515677 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.515684 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.515706 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.515713 | controller | - ' case $NAME in' 2025-11-25 10:02:01.515724 | controller | - ' API)' 2025-11-25 10:02:01.515738 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.515745 | controller | - ' ;;' 2025-11-25 10:02:01.515751 | controller | - ' esac' 2025-11-25 10:02:01.515757 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.515764 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.515775 | controller | - ' exit 1' 2025-11-25 10:02:01.515974 | controller | - ' fi' 2025-11-25 10:02:01.516032 | controller | - ' fi' 2025-11-25 10:02:01.516044 | controller | - ' done' 2025-11-25 10:02:01.516102 | controller | - ' ]' 2025-11-25 10:02:01.516111 | controller | - ' logger.go:42: 09:46:51 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.516117 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.516123 | controller | so we can''t rely on' 2025-11-25 10:02:01.516134 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.516193 | controller | and checks that' 2025-11-25 10:02:01.516201 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.516208 | controller | pattern' 2025-11-25 10:02:01.516218 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.516272 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.516284 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.516291 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.516297 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.516308 | controller | - ' exit 0' 2025-11-25 10:02:01.516338 | controller | - ' else' 2025-11-25 10:02:01.516344 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.516350 | controller | - ' exit 1' 2025-11-25 10:02:01.516355 | controller | - ' fi' 2025-11-25 10:02:01.516361 | controller | - ' ' 2025-11-25 10:02:01.516367 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.516387 | controller | them with a script' 2025-11-25 10:02:01.516394 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.516400 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.516406 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.516412 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.516418 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.516429 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.516435 | controller | - ' # it is an image' 2025-11-25 10:02:01.516441 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.516447 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.516452 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.516458 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.516469 | controller | - ' case $NAME in' 2025-11-25 10:02:01.516475 | controller | - ' API)' 2025-11-25 10:02:01.516503 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.516509 | controller | - ' ;;' 2025-11-25 10:02:01.516515 | controller | - ' esac' 2025-11-25 10:02:01.516521 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.516531 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.516539 | controller | - ' exit 1' 2025-11-25 10:02:01.516545 | controller | - ' fi' 2025-11-25 10:02:01.516551 | controller | - ' fi' 2025-11-25 10:02:01.516557 | controller | - ' done' 2025-11-25 10:02:01.516577 | controller | - ' ]' 2025-11-25 10:02:01.516583 | controller | - ' logger.go:42: 09:46:52 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.516620 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.516632 | controller | so we can''t rely on' 2025-11-25 10:02:01.516638 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.516643 | controller | and checks that' 2025-11-25 10:02:01.516649 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.516655 | controller | pattern' 2025-11-25 10:02:01.516661 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.516677 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.516684 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.516689 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.516695 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.516701 | controller | - ' exit 0' 2025-11-25 10:02:01.516718 | controller | - ' else' 2025-11-25 10:02:01.516724 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.516731 | controller | - ' exit 1' 2025-11-25 10:02:01.516758 | controller | - ' fi' 2025-11-25 10:02:01.516765 | controller | - ' ' 2025-11-25 10:02:01.516773 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.516781 | controller | them with a script' 2025-11-25 10:02:01.516788 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.516796 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.516804 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.516811 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.516819 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.516830 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.516836 | controller | - ' # it is an image' 2025-11-25 10:02:01.516842 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.516848 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.516854 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.516861 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.516869 | controller | - ' case $NAME in' 2025-11-25 10:02:01.516876 | controller | - ' API)' 2025-11-25 10:02:01.516884 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.516892 | controller | - ' ;;' 2025-11-25 10:02:01.516899 | controller | - ' esac' 2025-11-25 10:02:01.516921 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.516928 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.516934 | controller | - ' exit 1' 2025-11-25 10:02:01.516940 | controller | - ' fi' 2025-11-25 10:02:01.516945 | controller | - ' fi' 2025-11-25 10:02:01.516963 | controller | - ' done' 2025-11-25 10:02:01.516969 | controller | - ' ]' 2025-11-25 10:02:01.516975 | controller | - ' logger.go:42: 09:46:53 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.516985 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.517011 | controller | so we can''t rely on' 2025-11-25 10:02:01.517037 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.517046 | controller | and checks that' 2025-11-25 10:02:01.517054 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.517062 | controller | pattern' 2025-11-25 10:02:01.517069 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.517077 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.517084 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.517107 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.517116 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.517122 | controller | - ' exit 0' 2025-11-25 10:02:01.517128 | controller | - ' else' 2025-11-25 10:02:01.517134 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.517140 | controller | - ' exit 1' 2025-11-25 10:02:01.517146 | controller | - ' fi' 2025-11-25 10:02:01.517152 | controller | - ' ' 2025-11-25 10:02:01.517157 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.517164 | controller | them with a script' 2025-11-25 10:02:01.517172 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.517179 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.517202 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.517210 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.517218 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.517233 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.517240 | controller | - ' # it is an image' 2025-11-25 10:02:01.517246 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.517252 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.517283 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.517290 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.517296 | controller | - ' case $NAME in' 2025-11-25 10:02:01.517302 | controller | - ' API)' 2025-11-25 10:02:01.517307 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.517313 | controller | - ' ;;' 2025-11-25 10:02:01.517319 | controller | - ' esac' 2025-11-25 10:02:01.517337 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.517346 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.517353 | controller | - ' exit 1' 2025-11-25 10:02:01.517366 | controller | - ' fi' 2025-11-25 10:02:01.517374 | controller | - ' fi' 2025-11-25 10:02:01.517382 | controller | - ' done' 2025-11-25 10:02:01.517392 | controller | - ' ]' 2025-11-25 10:02:01.517400 | controller | - ' logger.go:42: 09:46:55 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.517408 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.517415 | controller | so we can''t rely on' 2025-11-25 10:02:01.517422 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.517430 | controller | and checks that' 2025-11-25 10:02:01.517464 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.517472 | controller | pattern' 2025-11-25 10:02:01.517480 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.517487 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.517495 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.517516 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.517524 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.517532 | controller | - ' exit 0' 2025-11-25 10:02:01.517553 | controller | - ' else' 2025-11-25 10:02:01.517561 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.517568 | controller | - ' exit 1' 2025-11-25 10:02:01.517576 | controller | - ' fi' 2025-11-25 10:02:01.517583 | controller | - ' ' 2025-11-25 10:02:01.517654 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.517670 | controller | them with a script' 2025-11-25 10:02:01.517678 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.517685 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.517697 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.517705 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.517712 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.517727 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.517735 | controller | - ' # it is an image' 2025-11-25 10:02:01.517742 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.517750 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.517757 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.517780 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.517787 | controller | - ' case $NAME in' 2025-11-25 10:02:01.517795 | controller | - ' API)' 2025-11-25 10:02:01.517802 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.517810 | controller | - ' ;;' 2025-11-25 10:02:01.517817 | controller | - ' esac' 2025-11-25 10:02:01.517848 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.517856 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.517864 | controller | - ' exit 1' 2025-11-25 10:02:01.517886 | controller | - ' fi' 2025-11-25 10:02:01.517895 | controller | - ' fi' 2025-11-25 10:02:01.517903 | controller | - ' done' 2025-11-25 10:02:01.517910 | controller | - ' ]' 2025-11-25 10:02:01.517917 | controller | - ' logger.go:42: 09:46:56 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.517925 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.517934 | controller | so we can''t rely on' 2025-11-25 10:02:01.517949 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.517956 | controller | and checks that' 2025-11-25 10:02:01.517964 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.517978 | controller | pattern' 2025-11-25 10:02:01.518014 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.518027 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.518061 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.518111 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.518123 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.518150 | controller | - ' exit 0' 2025-11-25 10:02:01.518158 | controller | - ' else' 2025-11-25 10:02:01.518165 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.518172 | controller | - ' exit 1' 2025-11-25 10:02:01.518207 | controller | - ' fi' 2025-11-25 10:02:01.518215 | controller | - ' ' 2025-11-25 10:02:01.518225 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.518272 | controller | them with a script' 2025-11-25 10:02:01.518303 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.518343 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.518350 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.518361 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.518398 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.518418 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.518436 | controller | - ' # it is an image' 2025-11-25 10:02:01.518447 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.518457 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.518469 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.518501 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.518509 | controller | - ' case $NAME in' 2025-11-25 10:02:01.518519 | controller | - ' API)' 2025-11-25 10:02:01.518549 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.518562 | controller | - ' ;;' 2025-11-25 10:02:01.518568 | controller | - ' esac' 2025-11-25 10:02:01.518574 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.518641 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.518681 | controller | - ' exit 1' 2025-11-25 10:02:01.518698 | controller | - ' fi' 2025-11-25 10:02:01.518704 | controller | - ' fi' 2025-11-25 10:02:01.518710 | controller | - ' done' 2025-11-25 10:02:01.518716 | controller | - ' ]' 2025-11-25 10:02:01.518747 | controller | - ' logger.go:42: 09:46:57 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.518754 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.518760 | controller | so we can''t rely on' 2025-11-25 10:02:01.518766 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.518771 | controller | and checks that' 2025-11-25 10:02:01.518777 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.518783 | controller | pattern' 2025-11-25 10:02:01.518789 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.518795 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.518800 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.518806 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.518812 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.518818 | controller | - ' exit 0' 2025-11-25 10:02:01.518824 | controller | - ' else' 2025-11-25 10:02:01.518834 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.518839 | controller | - ' exit 1' 2025-11-25 10:02:01.518845 | controller | - ' fi' 2025-11-25 10:02:01.518851 | controller | - ' ' 2025-11-25 10:02:01.518857 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.518863 | controller | them with a script' 2025-11-25 10:02:01.518869 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.518874 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.518880 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.518886 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.518892 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.518903 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.518909 | controller | - ' # it is an image' 2025-11-25 10:02:01.518915 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.518921 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.518927 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.518932 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.518938 | controller | - ' case $NAME in' 2025-11-25 10:02:01.518944 | controller | - ' API)' 2025-11-25 10:02:01.518950 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.518956 | controller | - ' ;;' 2025-11-25 10:02:01.518961 | controller | - ' esac' 2025-11-25 10:02:01.518967 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.518973 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.518979 | controller | - ' exit 1' 2025-11-25 10:02:01.518985 | controller | - ' fi' 2025-11-25 10:02:01.518990 | controller | - ' fi' 2025-11-25 10:02:01.518996 | controller | - ' done' 2025-11-25 10:02:01.519002 | controller | - ' ]' 2025-11-25 10:02:01.519008 | controller | - ' logger.go:42: 09:46:58 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.519014 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.519019 | controller | so we can''t rely on' 2025-11-25 10:02:01.519025 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.519043 | controller | and checks that' 2025-11-25 10:02:01.519051 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.519059 | controller | pattern' 2025-11-25 10:02:01.519078 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.519085 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.519091 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.519108 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.519116 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.519124 | controller | - ' exit 0' 2025-11-25 10:02:01.519132 | controller | - ' else' 2025-11-25 10:02:01.519140 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.519147 | controller | - ' exit 1' 2025-11-25 10:02:01.519154 | controller | - ' fi' 2025-11-25 10:02:01.519162 | controller | - ' ' 2025-11-25 10:02:01.519169 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.519181 | controller | them with a script' 2025-11-25 10:02:01.519189 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.519197 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.519205 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.519212 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.519218 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.519230 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.519236 | controller | - ' # it is an image' 2025-11-25 10:02:01.519242 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.519247 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.519253 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.519259 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.519265 | controller | - ' case $NAME in' 2025-11-25 10:02:01.519271 | controller | - ' API)' 2025-11-25 10:02:01.519276 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.519282 | controller | - ' ;;' 2025-11-25 10:02:01.519288 | controller | - ' esac' 2025-11-25 10:02:01.519294 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.519300 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.519305 | controller | - ' exit 1' 2025-11-25 10:02:01.519311 | controller | - ' fi' 2025-11-25 10:02:01.519317 | controller | - ' fi' 2025-11-25 10:02:01.519327 | controller | - ' done' 2025-11-25 10:02:01.519333 | controller | - ' ]' 2025-11-25 10:02:01.519339 | controller | - ' logger.go:42: 09:46:59 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.519344 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.519350 | controller | so we can''t rely on' 2025-11-25 10:02:01.519356 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.519362 | controller | and checks that' 2025-11-25 10:02:01.519368 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.519373 | controller | pattern' 2025-11-25 10:02:01.519379 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.519401 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.519408 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.519414 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.519419 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.519425 | controller | - ' exit 0' 2025-11-25 10:02:01.519431 | controller | - ' else' 2025-11-25 10:02:01.519437 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.519443 | controller | - ' exit 1' 2025-11-25 10:02:01.519448 | controller | - ' fi' 2025-11-25 10:02:01.519454 | controller | - ' ' 2025-11-25 10:02:01.519460 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.519466 | controller | them with a script' 2025-11-25 10:02:01.519472 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.519477 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.519483 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.519489 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.519498 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.519511 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.519516 | controller | - ' # it is an image' 2025-11-25 10:02:01.519522 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.519528 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.519534 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.519540 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.519545 | controller | - ' case $NAME in' 2025-11-25 10:02:01.519551 | controller | - ' API)' 2025-11-25 10:02:01.519557 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.519563 | controller | - ' ;;' 2025-11-25 10:02:01.519568 | controller | - ' esac' 2025-11-25 10:02:01.519574 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.519580 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.519586 | controller | - ' exit 1' 2025-11-25 10:02:01.519610 | controller | - ' fi' 2025-11-25 10:02:01.519616 | controller | - ' fi' 2025-11-25 10:02:01.519622 | controller | - ' done' 2025-11-25 10:02:01.519627 | controller | - ' ]' 2025-11-25 10:02:01.519646 | controller | - ' logger.go:42: 09:47:01 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.519652 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.519658 | controller | so we can''t rely on' 2025-11-25 10:02:01.519664 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.519670 | controller | and checks that' 2025-11-25 10:02:01.519676 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.519681 | controller | pattern' 2025-11-25 10:02:01.519687 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.519693 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.519699 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.519705 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.519711 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.519716 | controller | - ' exit 0' 2025-11-25 10:02:01.519722 | controller | - ' else' 2025-11-25 10:02:01.519728 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.519734 | controller | - ' exit 1' 2025-11-25 10:02:01.519740 | controller | - ' fi' 2025-11-25 10:02:01.519745 | controller | - ' ' 2025-11-25 10:02:01.519751 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.519757 | controller | them with a script' 2025-11-25 10:02:01.519763 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.519768 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.519777 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.519782 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.519788 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.519800 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.519806 | controller | - ' # it is an image' 2025-11-25 10:02:01.519812 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.519821 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.519826 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.519832 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.519838 | controller | - ' case $NAME in' 2025-11-25 10:02:01.519844 | controller | - ' API)' 2025-11-25 10:02:01.519850 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.519855 | controller | - ' ;;' 2025-11-25 10:02:01.519861 | controller | - ' esac' 2025-11-25 10:02:01.519867 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.519873 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.519879 | controller | - ' exit 1' 2025-11-25 10:02:01.519884 | controller | - ' fi' 2025-11-25 10:02:01.519890 | controller | - ' fi' 2025-11-25 10:02:01.519897 | controller | - ' done' 2025-11-25 10:02:01.519904 | controller | - ' ]' 2025-11-25 10:02:01.519910 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/0-deploy_keystone | running 2025-11-25 10:02:01.519917 | controller | command: [sh -c # the actual addresses of the apiEndpoints are platform specific, 2025-11-25 10:02:01.519924 | controller | so we can''t rely on' 2025-11-25 10:02:01.519930 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.519936 | controller | and checks that' 2025-11-25 10:02:01.519942 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.519947 | controller | pattern' 2025-11-25 10:02:01.519953 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.519961 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.519967 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.519973 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.519979 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.519985 | controller | - ' exit 0' 2025-11-25 10:02:01.519992 | controller | - ' else' 2025-11-25 10:02:01.520000 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.520007 | controller | - ' exit 1' 2025-11-25 10:02:01.520015 | controller | - ' fi' 2025-11-25 10:02:01.520023 | controller | - ' ' 2025-11-25 10:02:01.520030 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.520038 | controller | them with a script' 2025-11-25 10:02:01.520045 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.520052 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.520059 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.520067 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.520075 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.520094 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.520101 | controller | - ' # it is an image' 2025-11-25 10:02:01.520119 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.520127 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.520134 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.520142 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.520153 | controller | - ' case $NAME in' 2025-11-25 10:02:01.520161 | controller | - ' API)' 2025-11-25 10:02:01.520168 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.520176 | controller | - ' ;;' 2025-11-25 10:02:01.520183 | controller | - ' esac' 2025-11-25 10:02:01.520191 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.520199 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.520206 | controller | - ' exit 1' 2025-11-25 10:02:01.520213 | controller | - ' fi' 2025-11-25 10:02:01.520220 | controller | - ' fi' 2025-11-25 10:02:01.520228 | controller | - ' done' 2025-11-25 10:02:01.520235 | controller | - ' ]' 2025-11-25 10:02:01.520243 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/0-deploy_keystone | test step 2025-11-25 10:02:01.520251 | controller | completed 0-deploy_keystone' 2025-11-25 10:02:01.520258 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/1- | starting test step 1-' 2025-11-25 10:02:01.520266 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/1- | running command: [sh -c 2025-11-25 10:02:01.520273 | controller | $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh]' 2025-11-25 10:02:01.520281 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/1- | test step completed 1-' 2025-11-25 10:02:01.520288 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520295 | controller | starting test step 2-change_keystone_config' 2025-11-25 10:02:01.520303 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520310 | controller | running command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' 2025-11-25 10:02:01.520318 | controller | -p=''[{"op": "replace", "path": "/spec/customServiceConfig", "value": "[DEFAULT]\ndebug 2025-11-25 10:02:01.520325 | controller | = false"}]''' 2025-11-25 10:02:01.520332 | controller | - ' ]' 2025-11-25 10:02:01.520340 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520347 | controller | keystoneapi.keystone.openstack.org/keystone patched' 2025-11-25 10:02:01.520355 | controller | - ' logger.go:42: 09:47:02 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520362 | controller | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 10:02:01.520369 | controller | --reverse]' 2025-11-25 10:02:01.520377 | controller | - ' logger.go:42: 09:47:04 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520384 | controller | running command: [sh -c $KEYSTONE_KUTTL_DIR/../common/scripts/check_debug_in_keystone_pod_logs.sh 2025-11-25 10:02:01.520391 | controller | --reverse]' 2025-11-25 10:02:01.520399 | controller | - ' logger.go:42: 09:47:04 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520406 | controller | error: arguments in resource/name form may not have more than one slash' 2025-11-25 10:02:01.520414 | controller | - ' logger.go:42: 09:47:04 | change_keystone_config/2-change_keystone_config | 2025-11-25 10:02:01.520422 | controller | test step completed 2-change_keystone_config' 2025-11-25 10:02:01.520430 | controller | - ' logger.go:42: 09:47:04 | change_keystone_config/3-cleanup-keystone | starting 2025-11-25 10:02:01.520438 | controller | test step 3-cleanup-keystone' 2025-11-25 10:02:01.520446 | controller | - ' logger.go:42: 09:47:08 | change_keystone_config/3-cleanup-keystone | test step 2025-11-25 10:02:01.520453 | controller | completed 3-cleanup-keystone' 2025-11-25 10:02:01.520461 | controller | - ' logger.go:42: 09:47:08 | change_keystone_config | skipping kubernetes event 2025-11-25 10:02:01.520469 | controller | logging' 2025-11-25 10:02:01.520476 | controller | - === CONT kuttl/harness/keystone_scale 2025-11-25 10:02:01.520484 | controller | - ' logger.go:42: 09:47:08 | keystone_scale | Skipping creation of user-supplied 2025-11-25 10:02:01.520491 | controller | namespace: keystone-kuttl-tests' 2025-11-25 10:02:01.520503 | controller | - ' logger.go:42: 09:47:08 | keystone_scale/0-deploy_keystone | starting test step 2025-11-25 10:02:01.520510 | controller | 0-deploy_keystone' 2025-11-25 10:02:01.520518 | controller | - ' logger.go:42: 09:47:08 | keystone_scale/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 10:02:01.520525 | controller | created' 2025-11-25 10:02:01.520533 | controller | - ' logger.go:42: 09:47:08 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.520540 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.520548 | controller | rely on' 2025-11-25 10:02:01.520618 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.520635 | controller | and checks that' 2025-11-25 10:02:01.520644 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.520651 | controller | pattern' 2025-11-25 10:02:01.520659 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.520666 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.520674 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.520681 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.520700 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.520709 | controller | - ' exit 0' 2025-11-25 10:02:01.520716 | controller | - ' else' 2025-11-25 10:02:01.520724 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.520732 | controller | - ' exit 1' 2025-11-25 10:02:01.520740 | controller | - ' fi' 2025-11-25 10:02:01.520748 | controller | - ' ' 2025-11-25 10:02:01.520755 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.520763 | controller | them with a script' 2025-11-25 10:02:01.520771 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.520779 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.520786 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.520794 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.520802 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.520817 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.520825 | controller | - ' # it is an image' 2025-11-25 10:02:01.520833 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.520840 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.520848 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.520856 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.520864 | controller | - ' case $NAME in' 2025-11-25 10:02:01.520872 | controller | - ' API)' 2025-11-25 10:02:01.520884 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.520893 | controller | - ' ;;' 2025-11-25 10:02:01.520901 | controller | - ' esac' 2025-11-25 10:02:01.520909 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.520917 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.520926 | controller | - ' exit 1' 2025-11-25 10:02:01.520934 | controller | - ' fi' 2025-11-25 10:02:01.520941 | controller | - ' fi' 2025-11-25 10:02:01.520949 | controller | - ' done' 2025-11-25 10:02:01.520957 | controller | - ' ]' 2025-11-25 10:02:01.520965 | controller | - ' logger.go:42: 09:47:09 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.520977 | controller | : do not match regex' 2025-11-25 10:02:01.520984 | controller | - ' logger.go:42: 09:47:10 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.520991 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.520999 | controller | rely on' 2025-11-25 10:02:01.521005 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.521011 | controller | and checks that' 2025-11-25 10:02:01.521018 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.521024 | controller | pattern' 2025-11-25 10:02:01.521032 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.521039 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.521047 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.521055 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.521063 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.521071 | controller | - ' exit 0' 2025-11-25 10:02:01.521078 | controller | - ' else' 2025-11-25 10:02:01.521085 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.521092 | controller | - ' exit 1' 2025-11-25 10:02:01.521098 | controller | - ' fi' 2025-11-25 10:02:01.521104 | controller | - ' ' 2025-11-25 10:02:01.521110 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.521116 | controller | them with a script' 2025-11-25 10:02:01.521122 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.521129 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.521135 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.521141 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.521147 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.521159 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.521164 | controller | - ' # it is an image' 2025-11-25 10:02:01.521170 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.521176 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.521182 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.521188 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.521194 | controller | - ' case $NAME in' 2025-11-25 10:02:01.521200 | controller | - ' API)' 2025-11-25 10:02:01.521206 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.521212 | controller | - ' ;;' 2025-11-25 10:02:01.521218 | controller | - ' esac' 2025-11-25 10:02:01.521224 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.521230 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.521236 | controller | - ' exit 1' 2025-11-25 10:02:01.521242 | controller | - ' fi' 2025-11-25 10:02:01.521248 | controller | - ' fi' 2025-11-25 10:02:01.521268 | controller | - ' done' 2025-11-25 10:02:01.521276 | controller | - ' ]' 2025-11-25 10:02:01.521282 | controller | - ' logger.go:42: 09:47:10 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.521288 | controller | : do not match regex' 2025-11-25 10:02:01.521294 | controller | - ' logger.go:42: 09:47:11 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.521306 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.521313 | controller | rely on' 2025-11-25 10:02:01.521319 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.521325 | controller | and checks that' 2025-11-25 10:02:01.521331 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.521338 | controller | pattern' 2025-11-25 10:02:01.521344 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.521350 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.521356 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.521361 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.521368 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.521374 | controller | - ' exit 0' 2025-11-25 10:02:01.521380 | controller | - ' else' 2025-11-25 10:02:01.521386 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.521392 | controller | - ' exit 1' 2025-11-25 10:02:01.521398 | controller | - ' fi' 2025-11-25 10:02:01.521404 | controller | - ' ' 2025-11-25 10:02:01.521410 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.521416 | controller | them with a script' 2025-11-25 10:02:01.521422 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.521428 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.521434 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.521440 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.521446 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.521461 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.521467 | controller | - ' # it is an image' 2025-11-25 10:02:01.521473 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.521479 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.521485 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.521491 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.521497 | controller | - ' case $NAME in' 2025-11-25 10:02:01.521503 | controller | - ' API)' 2025-11-25 10:02:01.521508 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.521514 | controller | - ' ;;' 2025-11-25 10:02:01.521520 | controller | - ' esac' 2025-11-25 10:02:01.521558 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.521566 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.521572 | controller | - ' exit 1' 2025-11-25 10:02:01.521578 | controller | - ' fi' 2025-11-25 10:02:01.521584 | controller | - ' fi' 2025-11-25 10:02:01.521613 | controller | - ' done' 2025-11-25 10:02:01.521623 | controller | - ' ]' 2025-11-25 10:02:01.521630 | controller | - ' logger.go:42: 09:47:11 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.521636 | controller | : do not match regex' 2025-11-25 10:02:01.521642 | controller | - ' logger.go:42: 09:47:12 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.521690 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.521700 | controller | rely on' 2025-11-25 10:02:01.521706 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.521716 | controller | and checks that' 2025-11-25 10:02:01.521722 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.521737 | controller | pattern' 2025-11-25 10:02:01.521744 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.521757 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.521763 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.521769 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.521775 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.521781 | controller | - ' exit 0' 2025-11-25 10:02:01.521787 | controller | - ' else' 2025-11-25 10:02:01.521793 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.521804 | controller | - ' exit 1' 2025-11-25 10:02:01.521819 | controller | - ' fi' 2025-11-25 10:02:01.521826 | controller | - ' ' 2025-11-25 10:02:01.521832 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.521838 | controller | them with a script' 2025-11-25 10:02:01.521849 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.521886 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.521906 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.521921 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.521929 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.521942 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.521948 | controller | - ' # it is an image' 2025-11-25 10:02:01.521958 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.521970 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.521978 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.521984 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.521994 | controller | - ' case $NAME in' 2025-11-25 10:02:01.522004 | controller | - ' API)' 2025-11-25 10:02:01.522010 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.522016 | controller | - ' ;;' 2025-11-25 10:02:01.522022 | controller | - ' esac' 2025-11-25 10:02:01.522029 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.522035 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.522045 | controller | - ' exit 1' 2025-11-25 10:02:01.522063 | controller | - ' fi' 2025-11-25 10:02:01.522076 | controller | - ' fi' 2025-11-25 10:02:01.522107 | controller | - ' done' 2025-11-25 10:02:01.522119 | controller | - ' ]' 2025-11-25 10:02:01.522137 | controller | - ' logger.go:42: 09:47:12 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.522143 | controller | : do not match regex' 2025-11-25 10:02:01.522153 | controller | - ' logger.go:42: 09:47:13 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.522170 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.522176 | controller | rely on' 2025-11-25 10:02:01.522182 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.522192 | controller | and checks that' 2025-11-25 10:02:01.522202 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.522213 | controller | pattern' 2025-11-25 10:02:01.522228 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.522234 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.522242 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.522248 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.522254 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.522260 | controller | - ' exit 0' 2025-11-25 10:02:01.522266 | controller | - ' else' 2025-11-25 10:02:01.522272 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.522278 | controller | - ' exit 1' 2025-11-25 10:02:01.522283 | controller | - ' fi' 2025-11-25 10:02:01.522289 | controller | - ' ' 2025-11-25 10:02:01.522295 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.522301 | controller | them with a script' 2025-11-25 10:02:01.522307 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.522313 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.522318 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.522324 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.522330 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.522342 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.522347 | controller | - ' # it is an image' 2025-11-25 10:02:01.522353 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.522359 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.522365 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.522371 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.522376 | controller | - ' case $NAME in' 2025-11-25 10:02:01.522382 | controller | - ' API)' 2025-11-25 10:02:01.522388 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.522394 | controller | - ' ;;' 2025-11-25 10:02:01.522399 | controller | - ' esac' 2025-11-25 10:02:01.522405 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.522411 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.522417 | controller | - ' exit 1' 2025-11-25 10:02:01.522425 | controller | - ' fi' 2025-11-25 10:02:01.522431 | controller | - ' fi' 2025-11-25 10:02:01.522437 | controller | - ' done' 2025-11-25 10:02:01.522443 | controller | - ' ]' 2025-11-25 10:02:01.522449 | controller | - ' logger.go:42: 09:47:13 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.522454 | controller | : do not match regex' 2025-11-25 10:02:01.522463 | controller | - ' logger.go:42: 09:47:14 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.522468 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.522474 | controller | rely on' 2025-11-25 10:02:01.522480 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.522486 | controller | and checks that' 2025-11-25 10:02:01.522492 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.522505 | controller | pattern' 2025-11-25 10:02:01.522511 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.522520 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.522526 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.522532 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.522538 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.522544 | controller | - ' exit 0' 2025-11-25 10:02:01.522550 | controller | - ' else' 2025-11-25 10:02:01.522555 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.522561 | controller | - ' exit 1' 2025-11-25 10:02:01.522567 | controller | - ' fi' 2025-11-25 10:02:01.522573 | controller | - ' ' 2025-11-25 10:02:01.522579 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.522585 | controller | them with a script' 2025-11-25 10:02:01.522605 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.522615 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.522621 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.522627 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.522633 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.522644 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.522650 | controller | - ' # it is an image' 2025-11-25 10:02:01.522656 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.522662 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.522668 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.522674 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.522679 | controller | - ' case $NAME in' 2025-11-25 10:02:01.522685 | controller | - ' API)' 2025-11-25 10:02:01.522691 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.522697 | controller | - ' ;;' 2025-11-25 10:02:01.522703 | controller | - ' esac' 2025-11-25 10:02:01.522708 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.522714 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.522720 | controller | - ' exit 1' 2025-11-25 10:02:01.522726 | controller | - ' fi' 2025-11-25 10:02:01.522767 | controller | - ' fi' 2025-11-25 10:02:01.522775 | controller | - ' done' 2025-11-25 10:02:01.522781 | controller | - ' ]' 2025-11-25 10:02:01.522787 | controller | - ' logger.go:42: 09:47:14 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.522793 | controller | : do not match regex' 2025-11-25 10:02:01.522798 | controller | - ' logger.go:42: 09:47:15 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.522804 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.522810 | controller | rely on' 2025-11-25 10:02:01.522816 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.522822 | controller | and checks that' 2025-11-25 10:02:01.522828 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.522834 | controller | pattern' 2025-11-25 10:02:01.522839 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.522845 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.522851 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.522861 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.522868 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.522873 | controller | - ' exit 0' 2025-11-25 10:02:01.522879 | controller | - ' else' 2025-11-25 10:02:01.522885 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.522891 | controller | - ' exit 1' 2025-11-25 10:02:01.522897 | controller | - ' fi' 2025-11-25 10:02:01.522903 | controller | - ' ' 2025-11-25 10:02:01.522908 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.522914 | controller | them with a script' 2025-11-25 10:02:01.522920 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.522928 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.522936 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.522943 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.522951 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.522966 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.522974 | controller | - ' # it is an image' 2025-11-25 10:02:01.522982 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.522990 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.522998 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.523006 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.523026 | controller | - ' case $NAME in' 2025-11-25 10:02:01.523036 | controller | - ' API)' 2025-11-25 10:02:01.523043 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.523051 | controller | - ' ;;' 2025-11-25 10:02:01.523059 | controller | - ' esac' 2025-11-25 10:02:01.523067 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.523075 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.523082 | controller | - ' exit 1' 2025-11-25 10:02:01.523089 | controller | - ' fi' 2025-11-25 10:02:01.523097 | controller | - ' fi' 2025-11-25 10:02:01.523104 | controller | - ' done' 2025-11-25 10:02:01.523111 | controller | - ' ]' 2025-11-25 10:02:01.523119 | controller | - ' logger.go:42: 09:47:16 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.523126 | controller | : do not match regex' 2025-11-25 10:02:01.523134 | controller | - ' logger.go:42: 09:47:17 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.523146 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.523153 | controller | rely on' 2025-11-25 10:02:01.523160 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.523168 | controller | and checks that' 2025-11-25 10:02:01.523175 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.523182 | controller | pattern' 2025-11-25 10:02:01.523190 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.523197 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.523204 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.523212 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.523219 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.523230 | controller | - ' exit 0' 2025-11-25 10:02:01.523238 | controller | - ' else' 2025-11-25 10:02:01.523246 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.523254 | controller | - ' exit 1' 2025-11-25 10:02:01.523262 | controller | - ' fi' 2025-11-25 10:02:01.523270 | controller | - ' ' 2025-11-25 10:02:01.523278 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.523286 | controller | them with a script' 2025-11-25 10:02:01.523293 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.523301 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.523309 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.523317 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.523325 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.523341 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.523348 | controller | - ' # it is an image' 2025-11-25 10:02:01.523356 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.523363 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.523371 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.523379 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.523387 | controller | - ' case $NAME in' 2025-11-25 10:02:01.523394 | controller | - ' API)' 2025-11-25 10:02:01.523402 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.523410 | controller | - ' ;;' 2025-11-25 10:02:01.523418 | controller | - ' esac' 2025-11-25 10:02:01.523425 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.523433 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.523441 | controller | - ' exit 1' 2025-11-25 10:02:01.523449 | controller | - ' fi' 2025-11-25 10:02:01.523456 | controller | - ' fi' 2025-11-25 10:02:01.523464 | controller | - ' done' 2025-11-25 10:02:01.523472 | controller | - ' ]' 2025-11-25 10:02:01.523479 | controller | - ' logger.go:42: 09:47:17 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.523487 | controller | : do not match regex' 2025-11-25 10:02:01.523496 | controller | - ' logger.go:42: 09:47:18 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.523504 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.523513 | controller | rely on' 2025-11-25 10:02:01.523521 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.523529 | controller | and checks that' 2025-11-25 10:02:01.523536 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.523544 | controller | pattern' 2025-11-25 10:02:01.523551 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.523559 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.523568 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.523576 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.523584 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.523612 | controller | - ' exit 0' 2025-11-25 10:02:01.523627 | controller | - ' else' 2025-11-25 10:02:01.523636 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.523664 | controller | - ' exit 1' 2025-11-25 10:02:01.523673 | controller | - ' fi' 2025-11-25 10:02:01.523680 | controller | - ' ' 2025-11-25 10:02:01.523686 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.523693 | controller | them with a script' 2025-11-25 10:02:01.523699 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.523705 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.523711 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.523718 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.523724 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.523744 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.523750 | controller | - ' # it is an image' 2025-11-25 10:02:01.523757 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.523763 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.523769 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.523776 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.523782 | controller | - ' case $NAME in' 2025-11-25 10:02:01.523788 | controller | - ' API)' 2025-11-25 10:02:01.523794 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.523800 | controller | - ' ;;' 2025-11-25 10:02:01.523806 | controller | - ' esac' 2025-11-25 10:02:01.523812 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.523819 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.523825 | controller | - ' exit 1' 2025-11-25 10:02:01.523831 | controller | - ' fi' 2025-11-25 10:02:01.523837 | controller | - ' fi' 2025-11-25 10:02:01.523843 | controller | - ' done' 2025-11-25 10:02:01.523851 | controller | - ' ]' 2025-11-25 10:02:01.523858 | controller | - ' logger.go:42: 09:47:18 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.523864 | controller | : do not match regex' 2025-11-25 10:02:01.523870 | controller | - ' logger.go:42: 09:47:19 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.523876 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.523882 | controller | rely on' 2025-11-25 10:02:01.523887 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.523894 | controller | and checks that' 2025-11-25 10:02:01.523900 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.523906 | controller | pattern' 2025-11-25 10:02:01.523912 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.523918 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.523924 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.523930 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.523937 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.523942 | controller | - ' exit 0' 2025-11-25 10:02:01.523948 | controller | - ' else' 2025-11-25 10:02:01.523954 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.524006 | controller | - ' exit 1' 2025-11-25 10:02:01.524013 | controller | - ' fi' 2025-11-25 10:02:01.524019 | controller | - ' ' 2025-11-25 10:02:01.524025 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.524042 | controller | them with a script' 2025-11-25 10:02:01.524050 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.524058 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.524072 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.524085 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.524113 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.524131 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.524140 | controller | - ' # it is an image' 2025-11-25 10:02:01.524153 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.524171 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.524178 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.524187 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.524193 | controller | - ' case $NAME in' 2025-11-25 10:02:01.524200 | controller | - ' API)' 2025-11-25 10:02:01.524206 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.524217 | controller | - ' ;;' 2025-11-25 10:02:01.524260 | controller | - ' esac' 2025-11-25 10:02:01.524274 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.524285 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.524291 | controller | - ' exit 1' 2025-11-25 10:02:01.524302 | controller | - ' fi' 2025-11-25 10:02:01.524343 | controller | - ' fi' 2025-11-25 10:02:01.524356 | controller | - ' done' 2025-11-25 10:02:01.524362 | controller | - ' ]' 2025-11-25 10:02:01.524368 | controller | - ' logger.go:42: 09:47:19 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.524382 | controller | : do not match regex' 2025-11-25 10:02:01.524392 | controller | - ' logger.go:42: 09:47:20 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.524398 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.524404 | controller | rely on' 2025-11-25 10:02:01.524413 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.524424 | controller | and checks that' 2025-11-25 10:02:01.524431 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.524437 | controller | pattern' 2025-11-25 10:02:01.524447 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.524456 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.524463 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.524469 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.524475 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.524481 | controller | - ' exit 0' 2025-11-25 10:02:01.524487 | controller | - ' else' 2025-11-25 10:02:01.524493 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.524499 | controller | - ' exit 1' 2025-11-25 10:02:01.524505 | controller | - ' fi' 2025-11-25 10:02:01.524510 | controller | - ' ' 2025-11-25 10:02:01.524516 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.524522 | controller | them with a script' 2025-11-25 10:02:01.524532 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.524541 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.524547 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.524552 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.524558 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.524570 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.524576 | controller | - ' # it is an image' 2025-11-25 10:02:01.524582 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.524605 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.524616 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.524622 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.524628 | controller | - ' case $NAME in' 2025-11-25 10:02:01.524637 | controller | - ' API)' 2025-11-25 10:02:01.524643 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.524649 | controller | - ' ;;' 2025-11-25 10:02:01.524654 | controller | - ' esac' 2025-11-25 10:02:01.524660 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.524666 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.524672 | controller | - ' exit 1' 2025-11-25 10:02:01.524678 | controller | - ' fi' 2025-11-25 10:02:01.524683 | controller | - ' fi' 2025-11-25 10:02:01.524689 | controller | - ' done' 2025-11-25 10:02:01.524695 | controller | - ' ]' 2025-11-25 10:02:01.524701 | controller | - ' logger.go:42: 09:47:20 | keystone_scale/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.524707 | controller | : do not match regex' 2025-11-25 10:02:01.524712 | controller | - ' logger.go:42: 09:47:21 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.524718 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.524724 | controller | rely on' 2025-11-25 10:02:01.524730 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.524736 | controller | and checks that' 2025-11-25 10:02:01.524741 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.524747 | controller | pattern' 2025-11-25 10:02:01.524753 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.524759 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.524764 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.524770 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.524776 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.524782 | controller | - ' exit 0' 2025-11-25 10:02:01.524787 | controller | - ' else' 2025-11-25 10:02:01.524793 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.524799 | controller | - ' exit 1' 2025-11-25 10:02:01.524805 | controller | - ' fi' 2025-11-25 10:02:01.524810 | controller | - ' ' 2025-11-25 10:02:01.524816 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.524822 | controller | them with a script' 2025-11-25 10:02:01.524828 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.524834 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.524839 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.524850 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.524856 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.524877 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.524886 | controller | - ' # it is an image' 2025-11-25 10:02:01.524892 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.524898 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.524904 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.524909 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.524915 | controller | - ' case $NAME in' 2025-11-25 10:02:01.524921 | controller | - ' API)' 2025-11-25 10:02:01.524927 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.524933 | controller | - ' ;;' 2025-11-25 10:02:01.524938 | controller | - ' esac' 2025-11-25 10:02:01.524944 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.524950 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.524956 | controller | - ' exit 1' 2025-11-25 10:02:01.524961 | controller | - ' fi' 2025-11-25 10:02:01.524967 | controller | - ' fi' 2025-11-25 10:02:01.524973 | controller | - ' done' 2025-11-25 10:02:01.524979 | controller | - ' ]' 2025-11-25 10:02:01.524985 | controller | - ' logger.go:42: 09:47:22 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.524991 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.524996 | controller | rely on' 2025-11-25 10:02:01.525002 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.525008 | controller | and checks that' 2025-11-25 10:02:01.525014 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.525019 | controller | pattern' 2025-11-25 10:02:01.525027 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.525033 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.525039 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.525046 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.525054 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.525065 | controller | - ' exit 0' 2025-11-25 10:02:01.525073 | controller | - ' else' 2025-11-25 10:02:01.525080 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.525087 | controller | - ' exit 1' 2025-11-25 10:02:01.525094 | controller | - ' fi' 2025-11-25 10:02:01.525101 | controller | - ' ' 2025-11-25 10:02:01.525108 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.525115 | controller | them with a script' 2025-11-25 10:02:01.525121 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.525127 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.525132 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.525138 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.525144 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.525156 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.525162 | controller | - ' # it is an image' 2025-11-25 10:02:01.525215 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.525225 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.525233 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.525240 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.525247 | controller | - ' case $NAME in' 2025-11-25 10:02:01.525254 | controller | - ' API)' 2025-11-25 10:02:01.525261 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.525270 | controller | - ' ;;' 2025-11-25 10:02:01.525277 | controller | - ' esac' 2025-11-25 10:02:01.525285 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.525292 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.525298 | controller | - ' exit 1' 2025-11-25 10:02:01.525306 | controller | - ' fi' 2025-11-25 10:02:01.525312 | controller | - ' fi' 2025-11-25 10:02:01.525319 | controller | - ' done' 2025-11-25 10:02:01.525326 | controller | - ' ]' 2025-11-25 10:02:01.525333 | controller | - ' logger.go:42: 09:47:24 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.525340 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.525347 | controller | rely on' 2025-11-25 10:02:01.525354 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.525360 | controller | and checks that' 2025-11-25 10:02:01.525366 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.525372 | controller | pattern' 2025-11-25 10:02:01.525377 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.525383 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.525389 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.525395 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.525411 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.525419 | controller | - ' exit 0' 2025-11-25 10:02:01.525432 | controller | - ' else' 2025-11-25 10:02:01.525439 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.525445 | controller | - ' exit 1' 2025-11-25 10:02:01.525451 | controller | - ' fi' 2025-11-25 10:02:01.525457 | controller | - ' ' 2025-11-25 10:02:01.525464 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.525472 | controller | them with a script' 2025-11-25 10:02:01.525479 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.525487 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.525495 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.525502 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.525510 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.525525 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.525532 | controller | - ' # it is an image' 2025-11-25 10:02:01.525539 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.525565 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.525571 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.525577 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.525586 | controller | - ' case $NAME in' 2025-11-25 10:02:01.525611 | controller | - ' API)' 2025-11-25 10:02:01.525617 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.525623 | controller | - ' ;;' 2025-11-25 10:02:01.525628 | controller | - ' esac' 2025-11-25 10:02:01.525634 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.525640 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.525646 | controller | - ' exit 1' 2025-11-25 10:02:01.525652 | controller | - ' fi' 2025-11-25 10:02:01.525657 | controller | - ' fi' 2025-11-25 10:02:01.525663 | controller | - ' done' 2025-11-25 10:02:01.525669 | controller | - ' ]' 2025-11-25 10:02:01.525675 | controller | - ' logger.go:42: 09:47:25 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.525681 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.525686 | controller | rely on' 2025-11-25 10:02:01.525692 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.525698 | controller | and checks that' 2025-11-25 10:02:01.525707 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.525713 | controller | pattern' 2025-11-25 10:02:01.525718 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.525724 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.525730 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.525736 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.525742 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.525747 | controller | - ' exit 0' 2025-11-25 10:02:01.525753 | controller | - ' else' 2025-11-25 10:02:01.525759 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.525765 | controller | - ' exit 1' 2025-11-25 10:02:01.525770 | controller | - ' fi' 2025-11-25 10:02:01.525776 | controller | - ' ' 2025-11-25 10:02:01.525782 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.525788 | controller | them with a script' 2025-11-25 10:02:01.525794 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.525800 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.525805 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.525811 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.525817 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.525829 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.525834 | controller | - ' # it is an image' 2025-11-25 10:02:01.525840 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.525846 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.525852 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.525858 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.525864 | controller | - ' case $NAME in' 2025-11-25 10:02:01.525869 | controller | - ' API)' 2025-11-25 10:02:01.525875 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.525881 | controller | - ' ;;' 2025-11-25 10:02:01.525887 | controller | - ' esac' 2025-11-25 10:02:01.525893 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.525902 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.525909 | controller | - ' exit 1' 2025-11-25 10:02:01.525917 | controller | - ' fi' 2025-11-25 10:02:01.525925 | controller | - ' fi' 2025-11-25 10:02:01.525932 | controller | - ' done' 2025-11-25 10:02:01.525940 | controller | - ' ]' 2025-11-25 10:02:01.525958 | controller | - ' logger.go:42: 09:47:26 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.525965 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.525971 | controller | rely on' 2025-11-25 10:02:01.525976 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.525982 | controller | and checks that' 2025-11-25 10:02:01.525988 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.525994 | controller | pattern' 2025-11-25 10:02:01.526000 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.526006 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.526011 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.526017 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.526029 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.526035 | controller | - ' exit 0' 2025-11-25 10:02:01.526042 | controller | - ' else' 2025-11-25 10:02:01.526049 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.526057 | controller | - ' exit 1' 2025-11-25 10:02:01.526064 | controller | - ' fi' 2025-11-25 10:02:01.526072 | controller | - ' ' 2025-11-25 10:02:01.526078 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.526084 | controller | them with a script' 2025-11-25 10:02:01.526090 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.526096 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.526102 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.526108 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.526114 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.526125 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.526131 | controller | - ' # it is an image' 2025-11-25 10:02:01.526137 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.526143 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.526148 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.526154 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.526160 | controller | - ' case $NAME in' 2025-11-25 10:02:01.526166 | controller | - ' API)' 2025-11-25 10:02:01.526172 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.526177 | controller | - ' ;;' 2025-11-25 10:02:01.526183 | controller | - ' esac' 2025-11-25 10:02:01.526189 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.526195 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.526201 | controller | - ' exit 1' 2025-11-25 10:02:01.526206 | controller | - ' fi' 2025-11-25 10:02:01.526212 | controller | - ' fi' 2025-11-25 10:02:01.526218 | controller | - ' done' 2025-11-25 10:02:01.526224 | controller | - ' ]' 2025-11-25 10:02:01.526233 | controller | - ' logger.go:42: 09:47:27 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.526239 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.526245 | controller | rely on' 2025-11-25 10:02:01.526251 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.526256 | controller | and checks that' 2025-11-25 10:02:01.526262 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.526268 | controller | pattern' 2025-11-25 10:02:01.526274 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.526280 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.526286 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.526291 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.526297 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.526303 | controller | - ' exit 0' 2025-11-25 10:02:01.526309 | controller | - ' else' 2025-11-25 10:02:01.526315 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.526320 | controller | - ' exit 1' 2025-11-25 10:02:01.526326 | controller | - ' fi' 2025-11-25 10:02:01.526332 | controller | - ' ' 2025-11-25 10:02:01.526338 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.526344 | controller | them with a script' 2025-11-25 10:02:01.526350 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.526356 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.526361 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.526367 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.526373 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.526385 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.526390 | controller | - ' # it is an image' 2025-11-25 10:02:01.526396 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.526414 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.526458 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.526467 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.526473 | controller | - ' case $NAME in' 2025-11-25 10:02:01.526478 | controller | - ' API)' 2025-11-25 10:02:01.526484 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.526490 | controller | - ' ;;' 2025-11-25 10:02:01.526496 | controller | - ' esac' 2025-11-25 10:02:01.526502 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.526507 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.526513 | controller | - ' exit 1' 2025-11-25 10:02:01.526519 | controller | - ' fi' 2025-11-25 10:02:01.526525 | controller | - ' fi' 2025-11-25 10:02:01.526531 | controller | - ' done' 2025-11-25 10:02:01.526536 | controller | - ' ]' 2025-11-25 10:02:01.526542 | controller | - ' logger.go:42: 09:47:28 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.526548 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.526555 | controller | rely on' 2025-11-25 10:02:01.526563 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.526570 | controller | and checks that' 2025-11-25 10:02:01.526583 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.526606 | controller | pattern' 2025-11-25 10:02:01.526616 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.526622 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.526628 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.526634 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.526640 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.526645 | controller | - ' exit 0' 2025-11-25 10:02:01.526651 | controller | - ' else' 2025-11-25 10:02:01.526658 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.526665 | controller | - ' exit 1' 2025-11-25 10:02:01.526673 | controller | - ' fi' 2025-11-25 10:02:01.526686 | controller | - ' ' 2025-11-25 10:02:01.526693 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.526701 | controller | them with a script' 2025-11-25 10:02:01.526708 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.526714 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.526719 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.526725 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.526731 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.526743 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.526749 | controller | - ' # it is an image' 2025-11-25 10:02:01.526757 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.526765 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.526773 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.526780 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.526787 | controller | - ' case $NAME in' 2025-11-25 10:02:01.526795 | controller | - ' API)' 2025-11-25 10:02:01.526802 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.526808 | controller | - ' ;;' 2025-11-25 10:02:01.526814 | controller | - ' esac' 2025-11-25 10:02:01.526819 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.526825 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.526831 | controller | - ' exit 1' 2025-11-25 10:02:01.526839 | controller | - ' fi' 2025-11-25 10:02:01.526846 | controller | - ' fi' 2025-11-25 10:02:01.526854 | controller | - ' done' 2025-11-25 10:02:01.526862 | controller | - ' ]' 2025-11-25 10:02:01.526869 | controller | - ' logger.go:42: 09:47:30 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.526877 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.526884 | controller | rely on' 2025-11-25 10:02:01.526895 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.526903 | controller | and checks that' 2025-11-25 10:02:01.526909 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.526915 | controller | pattern' 2025-11-25 10:02:01.526922 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.526930 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.526942 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.526950 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.526958 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.526965 | controller | - ' exit 0' 2025-11-25 10:02:01.526973 | controller | - ' else' 2025-11-25 10:02:01.526980 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.526987 | controller | - ' exit 1' 2025-11-25 10:02:01.526995 | controller | - ' fi' 2025-11-25 10:02:01.527002 | controller | - ' ' 2025-11-25 10:02:01.527022 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.527031 | controller | them with a script' 2025-11-25 10:02:01.527038 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.527046 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.527054 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.527061 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.527069 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.527088 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.527095 | controller | - ' # it is an image' 2025-11-25 10:02:01.527103 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.527110 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.527118 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.527125 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.527132 | controller | - ' case $NAME in' 2025-11-25 10:02:01.527138 | controller | - ' API)' 2025-11-25 10:02:01.527144 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.527150 | controller | - ' ;;' 2025-11-25 10:02:01.527156 | controller | - ' esac' 2025-11-25 10:02:01.527161 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.527167 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.527173 | controller | - ' exit 1' 2025-11-25 10:02:01.527179 | controller | - ' fi' 2025-11-25 10:02:01.527185 | controller | - ' fi' 2025-11-25 10:02:01.527190 | controller | - ' done' 2025-11-25 10:02:01.527196 | controller | - ' ]' 2025-11-25 10:02:01.527202 | controller | - ' logger.go:42: 09:47:31 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.527208 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.527214 | controller | rely on' 2025-11-25 10:02:01.527219 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.527225 | controller | and checks that' 2025-11-25 10:02:01.527231 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.527237 | controller | pattern' 2025-11-25 10:02:01.527243 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.527248 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.527254 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.527260 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.527266 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.527272 | controller | - ' exit 0' 2025-11-25 10:02:01.527280 | controller | - ' else' 2025-11-25 10:02:01.527286 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.527292 | controller | - ' exit 1' 2025-11-25 10:02:01.527298 | controller | - ' fi' 2025-11-25 10:02:01.527304 | controller | - ' ' 2025-11-25 10:02:01.527309 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.527315 | controller | them with a script' 2025-11-25 10:02:01.527321 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.527327 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.527333 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.527338 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.527347 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.527359 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.527364 | controller | - ' # it is an image' 2025-11-25 10:02:01.527370 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.527376 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.527382 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.527388 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.527394 | controller | - ' case $NAME in' 2025-11-25 10:02:01.527399 | controller | - ' API)' 2025-11-25 10:02:01.527405 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.527411 | controller | - ' ;;' 2025-11-25 10:02:01.527417 | controller | - ' esac' 2025-11-25 10:02:01.527423 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.527428 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.527434 | controller | - ' exit 1' 2025-11-25 10:02:01.527440 | controller | - ' fi' 2025-11-25 10:02:01.527446 | controller | - ' fi' 2025-11-25 10:02:01.527452 | controller | - ' done' 2025-11-25 10:02:01.527457 | controller | - ' ]' 2025-11-25 10:02:01.527463 | controller | - ' logger.go:42: 09:47:32 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.527469 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.527475 | controller | rely on' 2025-11-25 10:02:01.527481 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.527486 | controller | and checks that' 2025-11-25 10:02:01.527500 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.527506 | controller | pattern' 2025-11-25 10:02:01.527512 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.527518 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.527560 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.527569 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.527575 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.527581 | controller | - ' exit 0' 2025-11-25 10:02:01.527599 | controller | - ' else' 2025-11-25 10:02:01.527609 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.527615 | controller | - ' exit 1' 2025-11-25 10:02:01.527621 | controller | - ' fi' 2025-11-25 10:02:01.527626 | controller | - ' ' 2025-11-25 10:02:01.527641 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.527655 | controller | them with a script' 2025-11-25 10:02:01.527712 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.527722 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.527729 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.527741 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.527782 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.527809 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.527819 | controller | - ' # it is an image' 2025-11-25 10:02:01.527855 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.527867 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.527896 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.527903 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.527913 | controller | - ' case $NAME in' 2025-11-25 10:02:01.527948 | controller | - ' API)' 2025-11-25 10:02:01.527962 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.527971 | controller | - ' ;;' 2025-11-25 10:02:01.527983 | controller | - ' esac' 2025-11-25 10:02:01.528022 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.528031 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.528040 | controller | - ' exit 1' 2025-11-25 10:02:01.528053 | controller | - ' fi' 2025-11-25 10:02:01.528061 | controller | - ' fi' 2025-11-25 10:02:01.528070 | controller | - ' done' 2025-11-25 10:02:01.528083 | controller | - ' ]' 2025-11-25 10:02:01.528132 | controller | - ' logger.go:42: 09:47:33 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.528142 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.528148 | controller | rely on' 2025-11-25 10:02:01.528155 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.528162 | controller | and checks that' 2025-11-25 10:02:01.528178 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.528185 | controller | pattern' 2025-11-25 10:02:01.528191 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.528202 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.528233 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.528239 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.528245 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.528250 | controller | - ' exit 0' 2025-11-25 10:02:01.528260 | controller | - ' else' 2025-11-25 10:02:01.528266 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.528272 | controller | - ' exit 1' 2025-11-25 10:02:01.528277 | controller | - ' fi' 2025-11-25 10:02:01.528283 | controller | - ' ' 2025-11-25 10:02:01.528289 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.528295 | controller | them with a script' 2025-11-25 10:02:01.528301 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.528307 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.528313 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.528318 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.528328 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.528340 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.528346 | controller | - ' # it is an image' 2025-11-25 10:02:01.528352 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.528358 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.528364 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.528370 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.528375 | controller | - ' case $NAME in' 2025-11-25 10:02:01.528381 | controller | - ' API)' 2025-11-25 10:02:01.528400 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.528407 | controller | - ' ;;' 2025-11-25 10:02:01.528412 | controller | - ' esac' 2025-11-25 10:02:01.528418 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.528424 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.528430 | controller | - ' exit 1' 2025-11-25 10:02:01.528436 | controller | - ' fi' 2025-11-25 10:02:01.528442 | controller | - ' fi' 2025-11-25 10:02:01.528447 | controller | - ' done' 2025-11-25 10:02:01.528453 | controller | - ' ]' 2025-11-25 10:02:01.528459 | controller | - ' logger.go:42: 09:47:34 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.528467 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.528473 | controller | rely on' 2025-11-25 10:02:01.528479 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.528485 | controller | and checks that' 2025-11-25 10:02:01.528491 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.528496 | controller | pattern' 2025-11-25 10:02:01.528502 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.528508 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.528514 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.528520 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.528525 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.528531 | controller | - ' exit 0' 2025-11-25 10:02:01.528537 | controller | - ' else' 2025-11-25 10:02:01.528543 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.528549 | controller | - ' exit 1' 2025-11-25 10:02:01.528555 | controller | - ' fi' 2025-11-25 10:02:01.528560 | controller | - ' ' 2025-11-25 10:02:01.528566 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.528572 | controller | them with a script' 2025-11-25 10:02:01.528578 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.528584 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.528606 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.528617 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.528623 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.528675 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.528681 | controller | - ' # it is an image' 2025-11-25 10:02:01.528687 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.528700 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.528706 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.528712 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.528717 | controller | - ' case $NAME in' 2025-11-25 10:02:01.528723 | controller | - ' API)' 2025-11-25 10:02:01.528729 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.528735 | controller | - ' ;;' 2025-11-25 10:02:01.528741 | controller | - ' esac' 2025-11-25 10:02:01.528746 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.528752 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.528759 | controller | - ' exit 1' 2025-11-25 10:02:01.528764 | controller | - ' fi' 2025-11-25 10:02:01.528770 | controller | - ' fi' 2025-11-25 10:02:01.528776 | controller | - ' done' 2025-11-25 10:02:01.528782 | controller | - ' ]' 2025-11-25 10:02:01.528788 | controller | - ' logger.go:42: 09:47:36 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.528793 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.528799 | controller | rely on' 2025-11-25 10:02:01.528805 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.528811 | controller | and checks that' 2025-11-25 10:02:01.528817 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.528822 | controller | pattern' 2025-11-25 10:02:01.528828 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.528834 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.528840 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.528846 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.528855 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.528860 | controller | - ' exit 0' 2025-11-25 10:02:01.528866 | controller | - ' else' 2025-11-25 10:02:01.528872 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.528878 | controller | - ' exit 1' 2025-11-25 10:02:01.528884 | controller | - ' fi' 2025-11-25 10:02:01.528890 | controller | - ' ' 2025-11-25 10:02:01.528896 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.528903 | controller | them with a script' 2025-11-25 10:02:01.528910 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.528916 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.528933 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.528940 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.528946 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.528958 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.528963 | controller | - ' # it is an image' 2025-11-25 10:02:01.528969 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.528975 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.528982 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.528989 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.528997 | controller | - ' case $NAME in' 2025-11-25 10:02:01.529008 | controller | - ' API)' 2025-11-25 10:02:01.529016 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.529024 | controller | - ' ;;' 2025-11-25 10:02:01.529031 | controller | - ' esac' 2025-11-25 10:02:01.529039 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.529047 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.529054 | controller | - ' exit 1' 2025-11-25 10:02:01.529062 | controller | - ' fi' 2025-11-25 10:02:01.529069 | controller | - ' fi' 2025-11-25 10:02:01.529077 | controller | - ' done' 2025-11-25 10:02:01.529083 | controller | - ' ]' 2025-11-25 10:02:01.529089 | controller | - ' logger.go:42: 09:47:37 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.529095 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.529101 | controller | rely on' 2025-11-25 10:02:01.529107 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.529114 | controller | and checks that' 2025-11-25 10:02:01.529122 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.529130 | controller | pattern' 2025-11-25 10:02:01.529137 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.529145 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.529153 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.529160 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.529168 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.529175 | controller | - ' exit 0' 2025-11-25 10:02:01.529182 | controller | - ' else' 2025-11-25 10:02:01.529189 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.529197 | controller | - ' exit 1' 2025-11-25 10:02:01.529204 | controller | - ' fi' 2025-11-25 10:02:01.529211 | controller | - ' ' 2025-11-25 10:02:01.529219 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.529227 | controller | them with a script' 2025-11-25 10:02:01.529234 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.529241 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.529249 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.529255 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.529261 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.529273 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.529278 | controller | - ' # it is an image' 2025-11-25 10:02:01.529284 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.529290 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.529296 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.529302 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.529307 | controller | - ' case $NAME in' 2025-11-25 10:02:01.529313 | controller | - ' API)' 2025-11-25 10:02:01.529319 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.529325 | controller | - ' ;;' 2025-11-25 10:02:01.529330 | controller | - ' esac' 2025-11-25 10:02:01.529336 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.529346 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.529352 | controller | - ' exit 1' 2025-11-25 10:02:01.529358 | controller | - ' fi' 2025-11-25 10:02:01.529363 | controller | - ' fi' 2025-11-25 10:02:01.529369 | controller | - ' done' 2025-11-25 10:02:01.529375 | controller | - ' ]' 2025-11-25 10:02:01.529381 | controller | - ' logger.go:42: 09:47:38 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.529386 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.529392 | controller | rely on' 2025-11-25 10:02:01.529398 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.529404 | controller | and checks that' 2025-11-25 10:02:01.529410 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.529415 | controller | pattern' 2025-11-25 10:02:01.529421 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.529438 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.529444 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.529450 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.529456 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.529462 | controller | - ' exit 0' 2025-11-25 10:02:01.529468 | controller | - ' else' 2025-11-25 10:02:01.529473 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.529479 | controller | - ' exit 1' 2025-11-25 10:02:01.529485 | controller | - ' fi' 2025-11-25 10:02:01.529491 | controller | - ' ' 2025-11-25 10:02:01.529497 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.529503 | controller | them with a script' 2025-11-25 10:02:01.529508 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.529514 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.529520 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.529526 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.529532 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.529560 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.529566 | controller | - ' # it is an image' 2025-11-25 10:02:01.529572 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.529578 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.529584 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.529604 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.529617 | controller | - ' case $NAME in' 2025-11-25 10:02:01.529623 | controller | - ' API)' 2025-11-25 10:02:01.529629 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.529635 | controller | - ' ;;' 2025-11-25 10:02:01.529641 | controller | - ' esac' 2025-11-25 10:02:01.529646 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.529652 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.529658 | controller | - ' exit 1' 2025-11-25 10:02:01.529664 | controller | - ' fi' 2025-11-25 10:02:01.529670 | controller | - ' fi' 2025-11-25 10:02:01.529676 | controller | - ' done' 2025-11-25 10:02:01.529681 | controller | - ' ]' 2025-11-25 10:02:01.529690 | controller | - ' logger.go:42: 09:47:39 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.529699 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.529704 | controller | rely on' 2025-11-25 10:02:01.529710 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.529716 | controller | and checks that' 2025-11-25 10:02:01.529722 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.529728 | controller | pattern' 2025-11-25 10:02:01.529734 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.529739 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.529745 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.529751 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.529757 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.529763 | controller | - ' exit 0' 2025-11-25 10:02:01.529769 | controller | - ' else' 2025-11-25 10:02:01.529774 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.529780 | controller | - ' exit 1' 2025-11-25 10:02:01.529786 | controller | - ' fi' 2025-11-25 10:02:01.529792 | controller | - ' ' 2025-11-25 10:02:01.529798 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.529804 | controller | them with a script' 2025-11-25 10:02:01.529810 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.529816 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.529822 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.529828 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.529833 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.529885 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.529890 | controller | - ' # it is an image' 2025-11-25 10:02:01.529896 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.529906 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.529912 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.529920 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.529926 | controller | - ' case $NAME in' 2025-11-25 10:02:01.529932 | controller | - ' API)' 2025-11-25 10:02:01.529937 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.529943 | controller | - ' ;;' 2025-11-25 10:02:01.529949 | controller | - ' esac' 2025-11-25 10:02:01.529956 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.529971 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.529977 | controller | - ' exit 1' 2025-11-25 10:02:01.529983 | controller | - ' fi' 2025-11-25 10:02:01.529989 | controller | - ' fi' 2025-11-25 10:02:01.529995 | controller | - ' done' 2025-11-25 10:02:01.530001 | controller | - ' ]' 2025-11-25 10:02:01.530006 | controller | - ' logger.go:42: 09:47:40 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.530012 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.530018 | controller | rely on' 2025-11-25 10:02:01.530024 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.530030 | controller | and checks that' 2025-11-25 10:02:01.530039 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.530046 | controller | pattern' 2025-11-25 10:02:01.530054 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.530061 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.530068 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.530076 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.530084 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.530091 | controller | - ' exit 0' 2025-11-25 10:02:01.530099 | controller | - ' else' 2025-11-25 10:02:01.530107 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.530114 | controller | - ' exit 1' 2025-11-25 10:02:01.530122 | controller | - ' fi' 2025-11-25 10:02:01.530129 | controller | - ' ' 2025-11-25 10:02:01.530136 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.530143 | controller | them with a script' 2025-11-25 10:02:01.530150 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.530157 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.530164 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.530170 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.530176 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.530187 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.530193 | controller | - ' # it is an image' 2025-11-25 10:02:01.530199 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.530205 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.530210 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.530216 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.530222 | controller | - ' case $NAME in' 2025-11-25 10:02:01.530228 | controller | - ' API)' 2025-11-25 10:02:01.530234 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.530239 | controller | - ' ;;' 2025-11-25 10:02:01.530245 | controller | - ' esac' 2025-11-25 10:02:01.530251 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.530257 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.530263 | controller | - ' exit 1' 2025-11-25 10:02:01.530268 | controller | - ' fi' 2025-11-25 10:02:01.530274 | controller | - ' fi' 2025-11-25 10:02:01.530280 | controller | - ' done' 2025-11-25 10:02:01.530286 | controller | - ' ]' 2025-11-25 10:02:01.530292 | controller | - ' logger.go:42: 09:47:41 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.530297 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.530303 | controller | rely on' 2025-11-25 10:02:01.530309 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.530315 | controller | and checks that' 2025-11-25 10:02:01.530321 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.530326 | controller | pattern' 2025-11-25 10:02:01.530332 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.530338 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.530347 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.530353 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.530359 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.530365 | controller | - ' exit 0' 2025-11-25 10:02:01.530370 | controller | - ' else' 2025-11-25 10:02:01.530376 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.530382 | controller | - ' exit 1' 2025-11-25 10:02:01.530388 | controller | - ' fi' 2025-11-25 10:02:01.530394 | controller | - ' ' 2025-11-25 10:02:01.530399 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.530405 | controller | them with a script' 2025-11-25 10:02:01.530411 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.530417 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.530423 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.530429 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.530435 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.530459 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.530466 | controller | - ' # it is an image' 2025-11-25 10:02:01.530472 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.530478 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.530484 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.530490 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.530495 | controller | - ' case $NAME in' 2025-11-25 10:02:01.530501 | controller | - ' API)' 2025-11-25 10:02:01.530507 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.530513 | controller | - ' ;;' 2025-11-25 10:02:01.530519 | controller | - ' esac' 2025-11-25 10:02:01.530524 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.530530 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.530536 | controller | - ' exit 1' 2025-11-25 10:02:01.530542 | controller | - ' fi' 2025-11-25 10:02:01.530547 | controller | - ' fi' 2025-11-25 10:02:01.530553 | controller | - ' done' 2025-11-25 10:02:01.530559 | controller | - ' ]' 2025-11-25 10:02:01.530565 | controller | - ' logger.go:42: 09:47:43 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.530571 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.530576 | controller | rely on' 2025-11-25 10:02:01.530582 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.530601 | controller | and checks that' 2025-11-25 10:02:01.530611 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.530617 | controller | pattern' 2025-11-25 10:02:01.530623 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.530629 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.530634 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.530640 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.530646 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.530652 | controller | - ' exit 0' 2025-11-25 10:02:01.530657 | controller | - ' else' 2025-11-25 10:02:01.530667 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.530672 | controller | - ' exit 1' 2025-11-25 10:02:01.530678 | controller | - ' fi' 2025-11-25 10:02:01.530684 | controller | - ' ' 2025-11-25 10:02:01.530690 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.530696 | controller | them with a script' 2025-11-25 10:02:01.530701 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.530707 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.530713 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.530719 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.530725 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.530736 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.530745 | controller | - ' # it is an image' 2025-11-25 10:02:01.530751 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.530757 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.530763 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.530769 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.530775 | controller | - ' case $NAME in' 2025-11-25 10:02:01.530781 | controller | - ' API)' 2025-11-25 10:02:01.530786 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.530792 | controller | - ' ;;' 2025-11-25 10:02:01.530798 | controller | - ' esac' 2025-11-25 10:02:01.530804 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.530810 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.530816 | controller | - ' exit 1' 2025-11-25 10:02:01.530821 | controller | - ' fi' 2025-11-25 10:02:01.530827 | controller | - ' fi' 2025-11-25 10:02:01.530862 | controller | - ' done' 2025-11-25 10:02:01.530873 | controller | - ' ]' 2025-11-25 10:02:01.530880 | controller | - ' logger.go:42: 09:47:44 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.530886 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.530892 | controller | rely on' 2025-11-25 10:02:01.530898 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.530903 | controller | and checks that' 2025-11-25 10:02:01.530909 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.530915 | controller | pattern' 2025-11-25 10:02:01.530921 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.530927 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.530932 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.530938 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.530953 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.530960 | controller | - ' exit 0' 2025-11-25 10:02:01.530965 | controller | - ' else' 2025-11-25 10:02:01.530971 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.530977 | controller | - ' exit 1' 2025-11-25 10:02:01.530983 | controller | - ' fi' 2025-11-25 10:02:01.530989 | controller | - ' ' 2025-11-25 10:02:01.530995 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.531000 | controller | them with a script' 2025-11-25 10:02:01.531012 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.531019 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.531025 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.531032 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.531039 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.531054 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.531062 | controller | - ' # it is an image' 2025-11-25 10:02:01.531069 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.531076 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.531083 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.531090 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.531098 | controller | - ' case $NAME in' 2025-11-25 10:02:01.531105 | controller | - ' API)' 2025-11-25 10:02:01.531112 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.531119 | controller | - ' ;;' 2025-11-25 10:02:01.531127 | controller | - ' esac' 2025-11-25 10:02:01.531134 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.531141 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.531147 | controller | - ' exit 1' 2025-11-25 10:02:01.531153 | controller | - ' fi' 2025-11-25 10:02:01.531159 | controller | - ' fi' 2025-11-25 10:02:01.531165 | controller | - ' done' 2025-11-25 10:02:01.531170 | controller | - ' ]' 2025-11-25 10:02:01.531176 | controller | - ' logger.go:42: 09:47:45 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.531182 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.531188 | controller | rely on' 2025-11-25 10:02:01.531194 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.531199 | controller | and checks that' 2025-11-25 10:02:01.531205 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.531211 | controller | pattern' 2025-11-25 10:02:01.531217 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.531222 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.531228 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.531234 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.531240 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.531246 | controller | - ' exit 0' 2025-11-25 10:02:01.531251 | controller | - ' else' 2025-11-25 10:02:01.531257 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.531263 | controller | - ' exit 1' 2025-11-25 10:02:01.531269 | controller | - ' fi' 2025-11-25 10:02:01.531274 | controller | - ' ' 2025-11-25 10:02:01.531280 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.531286 | controller | them with a script' 2025-11-25 10:02:01.531292 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.531298 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.531304 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.531309 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.531318 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.531330 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.531336 | controller | - ' # it is an image' 2025-11-25 10:02:01.531342 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.531348 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.531353 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.531362 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.531368 | controller | - ' case $NAME in' 2025-11-25 10:02:01.531374 | controller | - ' API)' 2025-11-25 10:02:01.531380 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.531386 | controller | - ' ;;' 2025-11-25 10:02:01.531391 | controller | - ' esac' 2025-11-25 10:02:01.531397 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.531403 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.531409 | controller | - ' exit 1' 2025-11-25 10:02:01.531415 | controller | - ' fi' 2025-11-25 10:02:01.531420 | controller | - ' fi' 2025-11-25 10:02:01.531426 | controller | - ' done' 2025-11-25 10:02:01.531432 | controller | - ' ]' 2025-11-25 10:02:01.531438 | controller | - ' logger.go:42: 09:47:46 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.531453 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.531460 | controller | rely on' 2025-11-25 10:02:01.531466 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.531472 | controller | and checks that' 2025-11-25 10:02:01.531478 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.531483 | controller | pattern' 2025-11-25 10:02:01.531489 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.531495 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.531504 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.531509 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.531515 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.531521 | controller | - ' exit 0' 2025-11-25 10:02:01.531527 | controller | - ' else' 2025-11-25 10:02:01.531533 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.531538 | controller | - ' exit 1' 2025-11-25 10:02:01.531544 | controller | - ' fi' 2025-11-25 10:02:01.531550 | controller | - ' ' 2025-11-25 10:02:01.531556 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.531562 | controller | them with a script' 2025-11-25 10:02:01.531567 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.531573 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.531579 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.531585 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.531609 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.531621 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.531627 | controller | - ' # it is an image' 2025-11-25 10:02:01.531633 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.531642 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.531648 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.531654 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.531660 | controller | - ' case $NAME in' 2025-11-25 10:02:01.531666 | controller | - ' API)' 2025-11-25 10:02:01.531671 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.531677 | controller | - ' ;;' 2025-11-25 10:02:01.531683 | controller | - ' esac' 2025-11-25 10:02:01.531689 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.531695 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.531701 | controller | - ' exit 1' 2025-11-25 10:02:01.531707 | controller | - ' fi' 2025-11-25 10:02:01.531713 | controller | - ' fi' 2025-11-25 10:02:01.531718 | controller | - ' done' 2025-11-25 10:02:01.531724 | controller | - ' ]' 2025-11-25 10:02:01.531730 | controller | - ' logger.go:42: 09:47:47 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.531736 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.531742 | controller | rely on' 2025-11-25 10:02:01.531747 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.531753 | controller | and checks that' 2025-11-25 10:02:01.531759 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.531765 | controller | pattern' 2025-11-25 10:02:01.531771 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.531776 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.531782 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.531788 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.531794 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.531800 | controller | - ' exit 0' 2025-11-25 10:02:01.531805 | controller | - ' else' 2025-11-25 10:02:01.531811 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.531817 | controller | - ' exit 1' 2025-11-25 10:02:01.531823 | controller | - ' fi' 2025-11-25 10:02:01.531829 | controller | - ' ' 2025-11-25 10:02:01.531834 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.531840 | controller | them with a script' 2025-11-25 10:02:01.531846 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.531852 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.531861 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.531866 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.531872 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.531884 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.531890 | controller | - ' # it is an image' 2025-11-25 10:02:01.531896 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.531912 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.531920 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.531927 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.531933 | controller | - ' case $NAME in' 2025-11-25 10:02:01.531941 | controller | - ' API)' 2025-11-25 10:02:01.531947 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.531953 | controller | - ' ;;' 2025-11-25 10:02:01.531959 | controller | - ' esac' 2025-11-25 10:02:01.531968 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.531973 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.531979 | controller | - ' exit 1' 2025-11-25 10:02:01.531985 | controller | - ' fi' 2025-11-25 10:02:01.531991 | controller | - ' fi' 2025-11-25 10:02:01.531997 | controller | - ' done' 2025-11-25 10:02:01.532003 | controller | - ' ]' 2025-11-25 10:02:01.532008 | controller | - ' logger.go:42: 09:47:49 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.532014 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.532020 | controller | rely on' 2025-11-25 10:02:01.532026 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.532031 | controller | and checks that' 2025-11-25 10:02:01.532037 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.532043 | controller | pattern' 2025-11-25 10:02:01.532049 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.532055 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.532096 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.532104 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.532110 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.532116 | controller | - ' exit 0' 2025-11-25 10:02:01.532125 | controller | - ' else' 2025-11-25 10:02:01.532131 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.532137 | controller | - ' exit 1' 2025-11-25 10:02:01.532143 | controller | - ' fi' 2025-11-25 10:02:01.532148 | controller | - ' ' 2025-11-25 10:02:01.532154 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.532160 | controller | them with a script' 2025-11-25 10:02:01.532166 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.532172 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.532178 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.532183 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.532189 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.532201 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.532207 | controller | - ' # it is an image' 2025-11-25 10:02:01.532213 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.532218 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.532224 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.532230 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.532236 | controller | - ' case $NAME in' 2025-11-25 10:02:01.532242 | controller | - ' API)' 2025-11-25 10:02:01.532247 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.532253 | controller | - ' ;;' 2025-11-25 10:02:01.532259 | controller | - ' esac' 2025-11-25 10:02:01.532265 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.532274 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.532280 | controller | - ' exit 1' 2025-11-25 10:02:01.532285 | controller | - ' fi' 2025-11-25 10:02:01.532291 | controller | - ' fi' 2025-11-25 10:02:01.532297 | controller | - ' done' 2025-11-25 10:02:01.532303 | controller | - ' ]' 2025-11-25 10:02:01.532309 | controller | - ' logger.go:42: 09:47:50 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.532314 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.532320 | controller | rely on' 2025-11-25 10:02:01.532326 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.532332 | controller | and checks that' 2025-11-25 10:02:01.532338 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.532343 | controller | pattern' 2025-11-25 10:02:01.532349 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.532355 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.532361 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.532367 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.532372 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.532378 | controller | - ' exit 0' 2025-11-25 10:02:01.532384 | controller | - ' else' 2025-11-25 10:02:01.532390 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.532396 | controller | - ' exit 1' 2025-11-25 10:02:01.532401 | controller | - ' fi' 2025-11-25 10:02:01.532407 | controller | - ' ' 2025-11-25 10:02:01.532422 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.532428 | controller | them with a script' 2025-11-25 10:02:01.532434 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.532440 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.532445 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.532451 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.532457 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.532469 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.532475 | controller | - ' # it is an image' 2025-11-25 10:02:01.532481 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.532487 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.532493 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.532498 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.532504 | controller | - ' case $NAME in' 2025-11-25 10:02:01.532510 | controller | - ' API)' 2025-11-25 10:02:01.532516 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.532522 | controller | - ' ;;' 2025-11-25 10:02:01.532528 | controller | - ' esac' 2025-11-25 10:02:01.532533 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.532539 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.532545 | controller | - ' exit 1' 2025-11-25 10:02:01.532551 | controller | - ' fi' 2025-11-25 10:02:01.532557 | controller | - ' fi' 2025-11-25 10:02:01.532562 | controller | - ' done' 2025-11-25 10:02:01.532568 | controller | - ' ]' 2025-11-25 10:02:01.532574 | controller | - ' logger.go:42: 09:47:51 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.532583 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.532601 | controller | rely on' 2025-11-25 10:02:01.532610 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.532616 | controller | and checks that' 2025-11-25 10:02:01.532622 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.532628 | controller | pattern' 2025-11-25 10:02:01.532634 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.532640 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.532645 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.532651 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.532657 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.532663 | controller | - ' exit 0' 2025-11-25 10:02:01.532669 | controller | - ' else' 2025-11-25 10:02:01.532675 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.532680 | controller | - ' exit 1' 2025-11-25 10:02:01.532686 | controller | - ' fi' 2025-11-25 10:02:01.532692 | controller | - ' ' 2025-11-25 10:02:01.532698 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.532704 | controller | them with a script' 2025-11-25 10:02:01.532709 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.532715 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.532721 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.532727 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.532733 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.532744 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.532753 | controller | - ' # it is an image' 2025-11-25 10:02:01.532759 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.532765 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.532771 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.532777 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.532782 | controller | - ' case $NAME in' 2025-11-25 10:02:01.532788 | controller | - ' API)' 2025-11-25 10:02:01.532794 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.532800 | controller | - ' ;;' 2025-11-25 10:02:01.532806 | controller | - ' esac' 2025-11-25 10:02:01.532811 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.532817 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.532823 | controller | - ' exit 1' 2025-11-25 10:02:01.532829 | controller | - ' fi' 2025-11-25 10:02:01.532835 | controller | - ' fi' 2025-11-25 10:02:01.532840 | controller | - ' done' 2025-11-25 10:02:01.532846 | controller | - ' ]' 2025-11-25 10:02:01.532852 | controller | - ' logger.go:42: 09:47:52 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.532858 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.532864 | controller | rely on' 2025-11-25 10:02:01.532870 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.532875 | controller | and checks that' 2025-11-25 10:02:01.532889 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.532898 | controller | pattern' 2025-11-25 10:02:01.532904 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.532910 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.532916 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.532922 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.532928 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.532933 | controller | - ' exit 0' 2025-11-25 10:02:01.532939 | controller | - ' else' 2025-11-25 10:02:01.532945 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.532951 | controller | - ' exit 1' 2025-11-25 10:02:01.532957 | controller | - ' fi' 2025-11-25 10:02:01.532962 | controller | - ' ' 2025-11-25 10:02:01.532968 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.532974 | controller | them with a script' 2025-11-25 10:02:01.532982 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.532988 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.532994 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.533000 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.533006 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.533017 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.533023 | controller | - ' # it is an image' 2025-11-25 10:02:01.533030 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.533037 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.533045 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.533053 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.533061 | controller | - ' case $NAME in' 2025-11-25 10:02:01.533068 | controller | - ' API)' 2025-11-25 10:02:01.533076 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.533082 | controller | - ' ;;' 2025-11-25 10:02:01.533088 | controller | - ' esac' 2025-11-25 10:02:01.533093 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.533102 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.533108 | controller | - ' exit 1' 2025-11-25 10:02:01.533114 | controller | - ' fi' 2025-11-25 10:02:01.533120 | controller | - ' fi' 2025-11-25 10:02:01.533126 | controller | - ' done' 2025-11-25 10:02:01.533131 | controller | - ' ]' 2025-11-25 10:02:01.533137 | controller | - ' logger.go:42: 09:47:53 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.533143 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.533149 | controller | rely on' 2025-11-25 10:02:01.533155 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.533160 | controller | and checks that' 2025-11-25 10:02:01.533166 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.533172 | controller | pattern' 2025-11-25 10:02:01.533178 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.533183 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.533196 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.533202 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.533207 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.533213 | controller | - ' exit 0' 2025-11-25 10:02:01.533255 | controller | - ' else' 2025-11-25 10:02:01.533262 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.533268 | controller | - ' exit 1' 2025-11-25 10:02:01.533274 | controller | - ' fi' 2025-11-25 10:02:01.533283 | controller | - ' ' 2025-11-25 10:02:01.533289 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.533295 | controller | them with a script' 2025-11-25 10:02:01.533301 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.533306 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.533404 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.533411 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.533417 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.533433 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.533439 | controller | - ' # it is an image' 2025-11-25 10:02:01.533445 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.533451 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.533458 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.533464 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.533470 | controller | - ' case $NAME in' 2025-11-25 10:02:01.533475 | controller | - ' API)' 2025-11-25 10:02:01.533490 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.533497 | controller | - ' ;;' 2025-11-25 10:02:01.533503 | controller | - ' esac' 2025-11-25 10:02:01.533509 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.533515 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.533521 | controller | - ' exit 1' 2025-11-25 10:02:01.533526 | controller | - ' fi' 2025-11-25 10:02:01.533532 | controller | - ' fi' 2025-11-25 10:02:01.533538 | controller | - ' done' 2025-11-25 10:02:01.533566 | controller | - ' ]' 2025-11-25 10:02:01.533573 | controller | - ' logger.go:42: 09:47:55 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.533579 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.533585 | controller | rely on' 2025-11-25 10:02:01.533608 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.533614 | controller | and checks that' 2025-11-25 10:02:01.533620 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.533626 | controller | pattern' 2025-11-25 10:02:01.533632 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.533637 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.533643 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.533649 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.533655 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.533661 | controller | - ' exit 0' 2025-11-25 10:02:01.533666 | controller | - ' else' 2025-11-25 10:02:01.533677 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.533682 | controller | - ' exit 1' 2025-11-25 10:02:01.533688 | controller | - ' fi' 2025-11-25 10:02:01.533694 | controller | - ' ' 2025-11-25 10:02:01.533700 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.533706 | controller | them with a script' 2025-11-25 10:02:01.533712 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.533717 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.533723 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.533729 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.533735 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.533747 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.533753 | controller | - ' # it is an image' 2025-11-25 10:02:01.533758 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.533764 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.533770 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.533776 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.533782 | controller | - ' case $NAME in' 2025-11-25 10:02:01.533787 | controller | - ' API)' 2025-11-25 10:02:01.533794 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.533800 | controller | - ' ;;' 2025-11-25 10:02:01.533805 | controller | - ' esac' 2025-11-25 10:02:01.533812 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.533818 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.533823 | controller | - ' exit 1' 2025-11-25 10:02:01.533830 | controller | - ' fi' 2025-11-25 10:02:01.533836 | controller | - ' fi' 2025-11-25 10:02:01.533842 | controller | - ' done' 2025-11-25 10:02:01.533848 | controller | - ' ]' 2025-11-25 10:02:01.533854 | controller | - ' logger.go:42: 09:47:56 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.533860 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.533866 | controller | rely on' 2025-11-25 10:02:01.533872 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.533878 | controller | and checks that' 2025-11-25 10:02:01.533884 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.533890 | controller | pattern' 2025-11-25 10:02:01.533896 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.533902 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.533908 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.533914 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.533920 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.533926 | controller | - ' exit 0' 2025-11-25 10:02:01.533932 | controller | - ' else' 2025-11-25 10:02:01.533938 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.533944 | controller | - ' exit 1' 2025-11-25 10:02:01.533969 | controller | - ' fi' 2025-11-25 10:02:01.533977 | controller | - ' ' 2025-11-25 10:02:01.533984 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.533991 | controller | them with a script' 2025-11-25 10:02:01.534002 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.534008 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.534022 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.534029 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.534034 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.534047 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.534053 | controller | - ' # it is an image' 2025-11-25 10:02:01.534059 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.534065 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.534071 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.534077 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.534083 | controller | - ' case $NAME in' 2025-11-25 10:02:01.534089 | controller | - ' API)' 2025-11-25 10:02:01.534094 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.534100 | controller | - ' ;;' 2025-11-25 10:02:01.534106 | controller | - ' esac' 2025-11-25 10:02:01.534112 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.534117 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.534123 | controller | - ' exit 1' 2025-11-25 10:02:01.534129 | controller | - ' fi' 2025-11-25 10:02:01.534135 | controller | - ' fi' 2025-11-25 10:02:01.534140 | controller | - ' done' 2025-11-25 10:02:01.534146 | controller | - ' ]' 2025-11-25 10:02:01.534152 | controller | - ' logger.go:42: 09:47:57 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.534158 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.534164 | controller | rely on' 2025-11-25 10:02:01.534170 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.534175 | controller | and checks that' 2025-11-25 10:02:01.534181 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.534188 | controller | pattern' 2025-11-25 10:02:01.534195 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.534203 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.534211 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.534241 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.534249 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.534254 | controller | - ' exit 0' 2025-11-25 10:02:01.534260 | controller | - ' else' 2025-11-25 10:02:01.534266 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.534272 | controller | - ' exit 1' 2025-11-25 10:02:01.534278 | controller | - ' fi' 2025-11-25 10:02:01.534284 | controller | - ' ' 2025-11-25 10:02:01.534293 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.534299 | controller | them with a script' 2025-11-25 10:02:01.534304 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.534310 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.534316 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.534322 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.534331 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.534342 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.534348 | controller | - ' # it is an image' 2025-11-25 10:02:01.534354 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.534360 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.534366 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.534372 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.534377 | controller | - ' case $NAME in' 2025-11-25 10:02:01.534383 | controller | - ' API)' 2025-11-25 10:02:01.534389 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.534395 | controller | - ' ;;' 2025-11-25 10:02:01.534401 | controller | - ' esac' 2025-11-25 10:02:01.534438 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.534445 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.534451 | controller | - ' exit 1' 2025-11-25 10:02:01.534460 | controller | - ' fi' 2025-11-25 10:02:01.534466 | controller | - ' fi' 2025-11-25 10:02:01.534472 | controller | - ' done' 2025-11-25 10:02:01.534477 | controller | - ' ]' 2025-11-25 10:02:01.534483 | controller | - ' logger.go:42: 09:47:58 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.534489 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.534495 | controller | rely on' 2025-11-25 10:02:01.534501 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.534507 | controller | and checks that' 2025-11-25 10:02:01.534512 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.534518 | controller | pattern' 2025-11-25 10:02:01.534524 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.534539 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.534545 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.534551 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.534557 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.534563 | controller | - ' exit 0' 2025-11-25 10:02:01.534569 | controller | - ' else' 2025-11-25 10:02:01.534574 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.534580 | controller | - ' exit 1' 2025-11-25 10:02:01.534607 | controller | - ' fi' 2025-11-25 10:02:01.534618 | controller | - ' ' 2025-11-25 10:02:01.534624 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.534630 | controller | them with a script' 2025-11-25 10:02:01.534636 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.534642 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.534647 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.534653 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.534659 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.534671 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.534677 | controller | - ' # it is an image' 2025-11-25 10:02:01.534682 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.534691 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.534697 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.534703 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.534709 | controller | - ' case $NAME in' 2025-11-25 10:02:01.534715 | controller | - ' API)' 2025-11-25 10:02:01.534723 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.534729 | controller | - ' ;;' 2025-11-25 10:02:01.534735 | controller | - ' esac' 2025-11-25 10:02:01.534741 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.534747 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.534754 | controller | - ' exit 1' 2025-11-25 10:02:01.534759 | controller | - ' fi' 2025-11-25 10:02:01.534765 | controller | - ' fi' 2025-11-25 10:02:01.534771 | controller | - ' done' 2025-11-25 10:02:01.534777 | controller | - ' ]' 2025-11-25 10:02:01.534783 | controller | - ' logger.go:42: 09:47:59 | keystone_scale/0-deploy_keystone | running command: 2025-11-25 10:02:01.534789 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.534796 | controller | rely on' 2025-11-25 10:02:01.534801 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.534807 | controller | and checks that' 2025-11-25 10:02:01.534813 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.534819 | controller | pattern' 2025-11-25 10:02:01.534825 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.534831 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.534836 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.534842 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.534851 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.534856 | controller | - ' exit 0' 2025-11-25 10:02:01.534862 | controller | - ' else' 2025-11-25 10:02:01.534868 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.534874 | controller | - ' exit 1' 2025-11-25 10:02:01.534880 | controller | - ' fi' 2025-11-25 10:02:01.534885 | controller | - ' ' 2025-11-25 10:02:01.534891 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.534897 | controller | them with a script' 2025-11-25 10:02:01.534903 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.534909 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.534915 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.534921 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.534927 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.534939 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.534945 | controller | - ' # it is an image' 2025-11-25 10:02:01.534950 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.534956 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.534962 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.534968 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.534974 | controller | - ' case $NAME in' 2025-11-25 10:02:01.534982 | controller | - ' API)' 2025-11-25 10:02:01.534988 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.534994 | controller | - ' ;;' 2025-11-25 10:02:01.534999 | controller | - ' esac' 2025-11-25 10:02:01.535005 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.535020 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.535026 | controller | - ' exit 1' 2025-11-25 10:02:01.535032 | controller | - ' fi' 2025-11-25 10:02:01.535038 | controller | - ' fi' 2025-11-25 10:02:01.535044 | controller | - ' done' 2025-11-25 10:02:01.535049 | controller | - ' ]' 2025-11-25 10:02:01.535055 | controller | - ' logger.go:42: 09:47:59 | keystone_scale/0-deploy_keystone | test step completed 2025-11-25 10:02:01.535061 | controller | 0-deploy_keystone' 2025-11-25 10:02:01.535068 | controller | - ' logger.go:42: 09:47:59 | keystone_scale/1-scale-keystoneapi | starting test 2025-11-25 10:02:01.535076 | controller | step 1-scale-keystoneapi' 2025-11-25 10:02:01.535083 | controller | - ' logger.go:42: 09:47:59 | keystone_scale/1-scale-keystoneapi | running command: 2025-11-25 10:02:01.535091 | controller | [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-11-25 10:02:01.535098 | controller | "replace", "path": "/spec/replicas", "value":3}]''' 2025-11-25 10:02:01.535106 | controller | - ' ]' 2025-11-25 10:02:01.535113 | controller | - ' logger.go:42: 09:48:00 | keystone_scale/1-scale-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 10:02:01.535120 | controller | patched' 2025-11-25 10:02:01.535127 | controller | - ' logger.go:42: 09:48:32 | keystone_scale/1-scale-keystoneapi | test step completed 2025-11-25 10:02:01.535138 | controller | 1-scale-keystoneapi' 2025-11-25 10:02:01.535145 | controller | - ' logger.go:42: 09:48:32 | keystone_scale/2-scale-down-keystoneapi | starting 2025-11-25 10:02:01.535151 | controller | test step 2-scale-down-keystoneapi' 2025-11-25 10:02:01.535157 | controller | - ' logger.go:42: 09:48:32 | keystone_scale/2-scale-down-keystoneapi | running 2025-11-25 10:02:01.535163 | controller | command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-11-25 10:02:01.535169 | controller | "replace", "path": "/spec/replicas", "value":1}]''' 2025-11-25 10:02:01.535174 | controller | - ' ]' 2025-11-25 10:02:01.535180 | controller | - ' logger.go:42: 09:48:32 | keystone_scale/2-scale-down-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 10:02:01.535186 | controller | patched' 2025-11-25 10:02:01.535192 | controller | - ' logger.go:42: 09:48:33 | keystone_scale/2-scale-down-keystoneapi | test step 2025-11-25 10:02:01.535198 | controller | completed 2-scale-down-keystoneapi' 2025-11-25 10:02:01.535203 | controller | - ' logger.go:42: 09:48:33 | keystone_scale/3-scale-down-zero-keystoneapi | starting 2025-11-25 10:02:01.535209 | controller | test step 3-scale-down-zero-keystoneapi' 2025-11-25 10:02:01.535215 | controller | - ' logger.go:42: 09:48:33 | keystone_scale/3-scale-down-zero-keystoneapi | running 2025-11-25 10:02:01.535223 | controller | command: [sh -c oc patch keystoneapi -n $NAMESPACE keystone --type=''json'' -p=''[{"op": 2025-11-25 10:02:01.535229 | controller | "replace", "path": "/spec/replicas", "value":0}]''' 2025-11-25 10:02:01.535235 | controller | - ' ]' 2025-11-25 10:02:01.535241 | controller | - ' logger.go:42: 09:48:34 | keystone_scale/3-scale-down-zero-keystoneapi | keystoneapi.keystone.openstack.org/keystone 2025-11-25 10:02:01.535247 | controller | patched' 2025-11-25 10:02:01.535252 | controller | - ' logger.go:42: 09:48:39 | keystone_scale/3-scale-down-zero-keystoneapi | test 2025-11-25 10:02:01.535258 | controller | step completed 3-scale-down-zero-keystoneapi' 2025-11-25 10:02:01.535264 | controller | - ' logger.go:42: 09:48:39 | keystone_scale/4-cleanup-keystone | starting test 2025-11-25 10:02:01.535271 | controller | step 4-cleanup-keystone' 2025-11-25 10:02:01.535278 | controller | - ' logger.go:42: 09:48:39 | keystone_scale/4-cleanup-keystone | test step completed 2025-11-25 10:02:01.535286 | controller | 4-cleanup-keystone' 2025-11-25 10:02:01.535301 | controller | - ' logger.go:42: 09:48:39 | keystone_scale | skipping kubernetes event logging' 2025-11-25 10:02:01.535309 | controller | - === CONT kuttl/harness/keystone_tls 2025-11-25 10:02:01.535316 | controller | - ' logger.go:42: 09:48:39 | keystone_tls | Skipping creation of user-supplied 2025-11-25 10:02:01.535324 | controller | namespace: keystone-kuttl-tests' 2025-11-25 10:02:01.535332 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | starting test step 2025-11-25 10:02:01.535339 | controller | 0-tls_ca_bundle' 2025-11-25 10:02:01.535346 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/combined-ca-bundle 2025-11-25 10:02:01.535352 | controller | created' 2025-11-25 10:02:01.535358 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-internal-svc 2025-11-25 10:02:01.535364 | controller | created' 2025-11-25 10:02:01.535370 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | Secret:keystone-kuttl-tests/cert-keystone-public-svc 2025-11-25 10:02:01.535376 | controller | created' 2025-11-25 10:02:01.535381 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/0-tls_ca_bundle | test step completed 2025-11-25 10:02:01.535387 | controller | 0-tls_ca_bundle' 2025-11-25 10:02:01.535393 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy | starting test 2025-11-25 10:02:01.535399 | controller | step 1-keystoneapi_tls_deploy' 2025-11-25 10:02:01.535405 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 10:02:01.535410 | controller | created' 2025-11-25 10:02:01.535416 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.535422 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.535428 | controller | rely on' 2025-11-25 10:02:01.535433 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.535439 | controller | and checks that' 2025-11-25 10:02:01.535445 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.535451 | controller | pattern' 2025-11-25 10:02:01.535457 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.535473 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.535480 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.535485 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.535491 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.535497 | controller | - ' exit 0' 2025-11-25 10:02:01.535503 | controller | - ' else' 2025-11-25 10:02:01.535509 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.535514 | controller | - ' exit 1' 2025-11-25 10:02:01.535520 | controller | - ' fi' 2025-11-25 10:02:01.535526 | controller | - ' ]' 2025-11-25 10:02:01.535532 | controller | - ' logger.go:42: 09:48:39 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.535538 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.535544 | controller | - ' logger.go:42: 09:48:40 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.535552 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.535560 | controller | rely on' 2025-11-25 10:02:01.535567 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.535575 | controller | and checks that' 2025-11-25 10:02:01.535582 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.535636 | controller | pattern' 2025-11-25 10:02:01.535645 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.535655 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.535661 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.535667 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.535673 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.535680 | controller | - ' exit 0' 2025-11-25 10:02:01.535688 | controller | - ' else' 2025-11-25 10:02:01.535696 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.535703 | controller | - ' exit 1' 2025-11-25 10:02:01.535711 | controller | - ' fi' 2025-11-25 10:02:01.535718 | controller | - ' ]' 2025-11-25 10:02:01.535726 | controller | - ' logger.go:42: 09:48:40 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.535734 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.535740 | controller | - ' logger.go:42: 09:48:41 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.535746 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.535752 | controller | rely on' 2025-11-25 10:02:01.535758 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.535764 | controller | and checks that' 2025-11-25 10:02:01.535772 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.535779 | controller | pattern' 2025-11-25 10:02:01.535787 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.535795 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.535802 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.535810 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.535817 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.535825 | controller | - ' exit 0' 2025-11-25 10:02:01.535832 | controller | - ' else' 2025-11-25 10:02:01.535839 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.535847 | controller | - ' exit 1' 2025-11-25 10:02:01.535853 | controller | - ' fi' 2025-11-25 10:02:01.535864 | controller | - ' ]' 2025-11-25 10:02:01.535872 | controller | - ' logger.go:42: 09:48:42 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.535880 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.535887 | controller | - ' logger.go:42: 09:48:43 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.535895 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.535902 | controller | rely on' 2025-11-25 10:02:01.535910 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.535917 | controller | and checks that' 2025-11-25 10:02:01.535925 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.535932 | controller | pattern' 2025-11-25 10:02:01.535939 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.535947 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.535954 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.535962 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.535970 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.535977 | controller | - ' exit 0' 2025-11-25 10:02:01.535985 | controller | - ' else' 2025-11-25 10:02:01.535992 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536004 | controller | - ' exit 1' 2025-11-25 10:02:01.536011 | controller | - ' fi' 2025-11-25 10:02:01.536019 | controller | - ' ]' 2025-11-25 10:02:01.536026 | controller | - ' logger.go:42: 09:48:43 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.536047 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.536056 | controller | - ' logger.go:42: 09:48:44 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.536063 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.536071 | controller | rely on' 2025-11-25 10:02:01.536082 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.536090 | controller | and checks that' 2025-11-25 10:02:01.536097 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.536105 | controller | pattern' 2025-11-25 10:02:01.536112 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.536120 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.536127 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.536135 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.536142 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.536150 | controller | - ' exit 0' 2025-11-25 10:02:01.536158 | controller | - ' else' 2025-11-25 10:02:01.536165 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536172 | controller | - ' exit 1' 2025-11-25 10:02:01.536180 | controller | - ' fi' 2025-11-25 10:02:01.536187 | controller | - ' ]' 2025-11-25 10:02:01.536195 | controller | - ' logger.go:42: 09:48:44 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.536202 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.536210 | controller | - ' logger.go:42: 09:48:45 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.536217 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.536225 | controller | rely on' 2025-11-25 10:02:01.536233 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.536240 | controller | and checks that' 2025-11-25 10:02:01.536248 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.536255 | controller | pattern' 2025-11-25 10:02:01.536263 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.536270 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.536277 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.536285 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.536292 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.536300 | controller | - ' exit 0' 2025-11-25 10:02:01.536312 | controller | - ' else' 2025-11-25 10:02:01.536320 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536327 | controller | - ' exit 1' 2025-11-25 10:02:01.536335 | controller | - ' fi' 2025-11-25 10:02:01.536342 | controller | - ' ]' 2025-11-25 10:02:01.536349 | controller | - ' logger.go:42: 09:48:45 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.536357 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.536364 | controller | - ' logger.go:42: 09:48:46 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.536372 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.536383 | controller | rely on' 2025-11-25 10:02:01.536391 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.536399 | controller | and checks that' 2025-11-25 10:02:01.536406 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.536414 | controller | pattern' 2025-11-25 10:02:01.536424 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.536431 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.536439 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.536446 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.536454 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.536461 | controller | - ' exit 0' 2025-11-25 10:02:01.536469 | controller | - ' else' 2025-11-25 10:02:01.536477 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536484 | controller | - ' exit 1' 2025-11-25 10:02:01.536492 | controller | - ' fi' 2025-11-25 10:02:01.536499 | controller | - ' ]' 2025-11-25 10:02:01.536506 | controller | - ' logger.go:42: 09:48:46 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.536514 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.536521 | controller | - ' logger.go:42: 09:48:47 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.536529 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.536536 | controller | rely on' 2025-11-25 10:02:01.536544 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.536551 | controller | and checks that' 2025-11-25 10:02:01.536559 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.536567 | controller | pattern' 2025-11-25 10:02:01.536574 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.536610 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.536622 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.536630 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.536638 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.536645 | controller | - ' exit 0' 2025-11-25 10:02:01.536653 | controller | - ' else' 2025-11-25 10:02:01.536660 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536668 | controller | - ' exit 1' 2025-11-25 10:02:01.536675 | controller | - ' fi' 2025-11-25 10:02:01.536683 | controller | - ' ]' 2025-11-25 10:02:01.536690 | controller | - ' logger.go:42: 09:48:47 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.536697 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.536705 | controller | - ' logger.go:42: 09:48:48 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.536712 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.536720 | controller | rely on' 2025-11-25 10:02:01.536730 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.536738 | controller | and checks that' 2025-11-25 10:02:01.536745 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.536753 | controller | pattern' 2025-11-25 10:02:01.536760 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.536768 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.536783 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.536790 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.536798 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.536806 | controller | - ' exit 0' 2025-11-25 10:02:01.536813 | controller | - ' else' 2025-11-25 10:02:01.536821 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536828 | controller | - ' exit 1' 2025-11-25 10:02:01.536836 | controller | - ' fi' 2025-11-25 10:02:01.536843 | controller | - ' ]' 2025-11-25 10:02:01.536851 | controller | - ' logger.go:42: 09:48:48 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.536858 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.536865 | controller | - ' logger.go:42: 09:48:50 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.536873 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.536880 | controller | rely on' 2025-11-25 10:02:01.536888 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.536896 | controller | and checks that' 2025-11-25 10:02:01.536903 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.536911 | controller | pattern' 2025-11-25 10:02:01.536918 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.536926 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.536933 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.536941 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.536948 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.536956 | controller | - ' exit 0' 2025-11-25 10:02:01.536963 | controller | - ' else' 2025-11-25 10:02:01.536971 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.536978 | controller | - ' exit 1' 2025-11-25 10:02:01.536986 | controller | - ' fi' 2025-11-25 10:02:01.536993 | controller | - ' ]' 2025-11-25 10:02:01.537001 | controller | - ' logger.go:42: 09:48:50 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.537008 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.537016 | controller | - ' logger.go:42: 09:48:51 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.537023 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.537031 | controller | rely on' 2025-11-25 10:02:01.537038 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.537046 | controller | and checks that' 2025-11-25 10:02:01.537057 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.537065 | controller | pattern' 2025-11-25 10:02:01.537073 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.537080 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.537087 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.537096 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.537103 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.537114 | controller | - ' exit 0' 2025-11-25 10:02:01.537122 | controller | - ' else' 2025-11-25 10:02:01.537129 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.537141 | controller | - ' exit 1' 2025-11-25 10:02:01.537148 | controller | - ' fi' 2025-11-25 10:02:01.537155 | controller | - ' ]' 2025-11-25 10:02:01.537163 | controller | - ' logger.go:42: 09:48:51 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.537171 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.537194 | controller | - ' logger.go:42: 09:48:52 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.537202 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.537210 | controller | rely on' 2025-11-25 10:02:01.537218 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.537226 | controller | and checks that' 2025-11-25 10:02:01.537233 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.537241 | controller | pattern' 2025-11-25 10:02:01.537252 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.537259 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.537267 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.537274 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.537282 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.537289 | controller | - ' exit 0' 2025-11-25 10:02:01.537296 | controller | - ' else' 2025-11-25 10:02:01.537304 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.537311 | controller | - ' exit 1' 2025-11-25 10:02:01.537319 | controller | - ' fi' 2025-11-25 10:02:01.537326 | controller | - ' ]' 2025-11-25 10:02:01.537334 | controller | - ' logger.go:42: 09:48:52 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.537341 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.537349 | controller | - ' logger.go:42: 09:48:53 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.537356 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.537363 | controller | rely on' 2025-11-25 10:02:01.537373 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.537380 | controller | and checks that' 2025-11-25 10:02:01.537388 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.537395 | controller | pattern' 2025-11-25 10:02:01.537403 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.537411 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.537419 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.537427 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.537435 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.537443 | controller | - ' exit 0' 2025-11-25 10:02:01.537450 | controller | - ' else' 2025-11-25 10:02:01.537458 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.537466 | controller | - ' exit 1' 2025-11-25 10:02:01.537474 | controller | - ' fi' 2025-11-25 10:02:01.537482 | controller | - ' ]' 2025-11-25 10:02:01.537489 | controller | - ' logger.go:42: 09:48:53 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.537497 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.537505 | controller | - ' logger.go:42: 09:48:54 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.537513 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.537520 | controller | rely on' 2025-11-25 10:02:01.537532 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.537540 | controller | and checks that' 2025-11-25 10:02:01.537572 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.537580 | controller | pattern' 2025-11-25 10:02:01.537603 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.537616 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.537624 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.537632 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.537639 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.537646 | controller | - ' exit 0' 2025-11-25 10:02:01.537654 | controller | - ' else' 2025-11-25 10:02:01.537661 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.537669 | controller | - ' exit 1' 2025-11-25 10:02:01.537676 | controller | - ' fi' 2025-11-25 10:02:01.537684 | controller | - ' ]' 2025-11-25 10:02:01.537692 | controller | - ' logger.go:42: 09:48:54 | keystone_tls/1-keystoneapi_tls_deploy | Endpoints 2025-11-25 10:02:01.537700 | controller | URLS: : do not match regex' 2025-11-25 10:02:01.537708 | controller | - ' logger.go:42: 09:48:55 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.537716 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.537724 | controller | rely on' 2025-11-25 10:02:01.537731 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.537739 | controller | and checks that' 2025-11-25 10:02:01.537747 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.537755 | controller | pattern' 2025-11-25 10:02:01.537762 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.537770 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.537791 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.537799 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.537807 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.537814 | controller | - ' exit 0' 2025-11-25 10:02:01.537822 | controller | - ' else' 2025-11-25 10:02:01.537829 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.537837 | controller | - ' exit 1' 2025-11-25 10:02:01.537845 | controller | - ' fi' 2025-11-25 10:02:01.537853 | controller | - ' ]' 2025-11-25 10:02:01.537861 | controller | - ' logger.go:42: 09:48:57 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.537868 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.537876 | controller | rely on' 2025-11-25 10:02:01.537884 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.537891 | controller | and checks that' 2025-11-25 10:02:01.537899 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.537906 | controller | pattern' 2025-11-25 10:02:01.537914 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.537921 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.537929 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.537936 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.537949 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.537961 | controller | - ' exit 0' 2025-11-25 10:02:01.537969 | controller | - ' else' 2025-11-25 10:02:01.537977 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.537985 | controller | - ' exit 1' 2025-11-25 10:02:01.537992 | controller | - ' fi' 2025-11-25 10:02:01.538006 | controller | - ' ]' 2025-11-25 10:02:01.538014 | controller | - ' logger.go:42: 09:48:58 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538022 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538029 | controller | rely on' 2025-11-25 10:02:01.538037 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538044 | controller | and checks that' 2025-11-25 10:02:01.538052 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538059 | controller | pattern' 2025-11-25 10:02:01.538067 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538074 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538082 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538089 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538097 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538104 | controller | - ' exit 0' 2025-11-25 10:02:01.538112 | controller | - ' else' 2025-11-25 10:02:01.538120 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.538127 | controller | - ' exit 1' 2025-11-25 10:02:01.538135 | controller | - ' fi' 2025-11-25 10:02:01.538143 | controller | - ' ]' 2025-11-25 10:02:01.538150 | controller | - ' logger.go:42: 09:48:59 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538158 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538165 | controller | rely on' 2025-11-25 10:02:01.538176 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538184 | controller | and checks that' 2025-11-25 10:02:01.538191 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538199 | controller | pattern' 2025-11-25 10:02:01.538206 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538214 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538222 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538229 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538237 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538245 | controller | - ' exit 0' 2025-11-25 10:02:01.538252 | controller | - ' else' 2025-11-25 10:02:01.538260 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.538270 | controller | - ' exit 1' 2025-11-25 10:02:01.538278 | controller | - ' fi' 2025-11-25 10:02:01.538285 | controller | - ' ]' 2025-11-25 10:02:01.538293 | controller | - ' logger.go:42: 09:49:00 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538300 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538308 | controller | rely on' 2025-11-25 10:02:01.538315 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538323 | controller | and checks that' 2025-11-25 10:02:01.538330 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538341 | controller | pattern' 2025-11-25 10:02:01.538349 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538356 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538380 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538389 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538396 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538404 | controller | - ' exit 0' 2025-11-25 10:02:01.538411 | controller | - ' else' 2025-11-25 10:02:01.538419 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.538426 | controller | - ' exit 1' 2025-11-25 10:02:01.538434 | controller | - ' fi' 2025-11-25 10:02:01.538441 | controller | - ' ]' 2025-11-25 10:02:01.538448 | controller | - ' logger.go:42: 09:49:01 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538456 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538464 | controller | rely on' 2025-11-25 10:02:01.538471 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538479 | controller | and checks that' 2025-11-25 10:02:01.538486 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538493 | controller | pattern' 2025-11-25 10:02:01.538501 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538508 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538516 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538523 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538531 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538538 | controller | - ' exit 0' 2025-11-25 10:02:01.538546 | controller | - ' else' 2025-11-25 10:02:01.538553 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.538561 | controller | - ' exit 1' 2025-11-25 10:02:01.538568 | controller | - ' fi' 2025-11-25 10:02:01.538576 | controller | - ' ]' 2025-11-25 10:02:01.538583 | controller | - ' logger.go:42: 09:49:02 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538621 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538629 | controller | rely on' 2025-11-25 10:02:01.538637 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538644 | controller | and checks that' 2025-11-25 10:02:01.538652 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538659 | controller | pattern' 2025-11-25 10:02:01.538667 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538674 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538682 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538689 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538696 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538704 | controller | - ' exit 0' 2025-11-25 10:02:01.538712 | controller | - ' else' 2025-11-25 10:02:01.538719 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.538727 | controller | - ' exit 1' 2025-11-25 10:02:01.538734 | controller | - ' fi' 2025-11-25 10:02:01.538742 | controller | - ' ]' 2025-11-25 10:02:01.538753 | controller | - ' logger.go:42: 09:49:03 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538761 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538768 | controller | rely on' 2025-11-25 10:02:01.538776 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538783 | controller | and checks that' 2025-11-25 10:02:01.538791 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538798 | controller | pattern' 2025-11-25 10:02:01.538806 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538813 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538821 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538828 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538836 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538843 | controller | - ' exit 0' 2025-11-25 10:02:01.538851 | controller | - ' else' 2025-11-25 10:02:01.538858 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.538866 | controller | - ' exit 1' 2025-11-25 10:02:01.538873 | controller | - ' fi' 2025-11-25 10:02:01.538881 | controller | - ' ]' 2025-11-25 10:02:01.538889 | controller | - ' logger.go:42: 09:49:05 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.538896 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.538904 | controller | rely on' 2025-11-25 10:02:01.538911 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.538919 | controller | and checks that' 2025-11-25 10:02:01.538926 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.538933 | controller | pattern' 2025-11-25 10:02:01.538941 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.538948 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.538967 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.538976 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.538983 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.538991 | controller | - ' exit 0' 2025-11-25 10:02:01.538998 | controller | - ' else' 2025-11-25 10:02:01.539006 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539013 | controller | - ' exit 1' 2025-11-25 10:02:01.539020 | controller | - ' fi' 2025-11-25 10:02:01.539028 | controller | - ' ]' 2025-11-25 10:02:01.539036 | controller | - ' logger.go:42: 09:49:06 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539043 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539051 | controller | rely on' 2025-11-25 10:02:01.539058 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539066 | controller | and checks that' 2025-11-25 10:02:01.539073 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539081 | controller | pattern' 2025-11-25 10:02:01.539088 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539096 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539103 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539115 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539122 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539130 | controller | - ' exit 0' 2025-11-25 10:02:01.539137 | controller | - ' else' 2025-11-25 10:02:01.539145 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539152 | controller | - ' exit 1' 2025-11-25 10:02:01.539160 | controller | - ' fi' 2025-11-25 10:02:01.539167 | controller | - ' ]' 2025-11-25 10:02:01.539175 | controller | - ' logger.go:42: 09:49:07 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539182 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539189 | controller | rely on' 2025-11-25 10:02:01.539197 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539204 | controller | and checks that' 2025-11-25 10:02:01.539212 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539219 | controller | pattern' 2025-11-25 10:02:01.539227 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539235 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539242 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539250 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539257 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539264 | controller | - ' exit 0' 2025-11-25 10:02:01.539272 | controller | - ' else' 2025-11-25 10:02:01.539279 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539287 | controller | - ' exit 1' 2025-11-25 10:02:01.539294 | controller | - ' fi' 2025-11-25 10:02:01.539302 | controller | - ' ]' 2025-11-25 10:02:01.539309 | controller | - ' logger.go:42: 09:49:08 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539321 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539329 | controller | rely on' 2025-11-25 10:02:01.539336 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539344 | controller | and checks that' 2025-11-25 10:02:01.539351 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539359 | controller | pattern' 2025-11-25 10:02:01.539366 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539374 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539381 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539389 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539397 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539404 | controller | - ' exit 0' 2025-11-25 10:02:01.539411 | controller | - ' else' 2025-11-25 10:02:01.539419 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539426 | controller | - ' exit 1' 2025-11-25 10:02:01.539434 | controller | - ' fi' 2025-11-25 10:02:01.539441 | controller | - ' ]' 2025-11-25 10:02:01.539449 | controller | - ' logger.go:42: 09:49:09 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539456 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539463 | controller | rely on' 2025-11-25 10:02:01.539471 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539479 | controller | and checks that' 2025-11-25 10:02:01.539486 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539497 | controller | pattern' 2025-11-25 10:02:01.539504 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539511 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539528 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539535 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539541 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539547 | controller | - ' exit 0' 2025-11-25 10:02:01.539557 | controller | - ' else' 2025-11-25 10:02:01.539563 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539569 | controller | - ' exit 1' 2025-11-25 10:02:01.539574 | controller | - ' fi' 2025-11-25 10:02:01.539580 | controller | - ' ]' 2025-11-25 10:02:01.539603 | controller | - ' logger.go:42: 09:49:10 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539613 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539619 | controller | rely on' 2025-11-25 10:02:01.539625 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539631 | controller | and checks that' 2025-11-25 10:02:01.539637 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539642 | controller | pattern' 2025-11-25 10:02:01.539648 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539657 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539663 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539669 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539674 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539680 | controller | - ' exit 0' 2025-11-25 10:02:01.539686 | controller | - ' else' 2025-11-25 10:02:01.539692 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539698 | controller | - ' exit 1' 2025-11-25 10:02:01.539704 | controller | - ' fi' 2025-11-25 10:02:01.539709 | controller | - ' ]' 2025-11-25 10:02:01.539715 | controller | - ' logger.go:42: 09:49:12 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539721 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539727 | controller | rely on' 2025-11-25 10:02:01.539732 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539738 | controller | and checks that' 2025-11-25 10:02:01.539744 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539750 | controller | pattern' 2025-11-25 10:02:01.539756 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539761 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539767 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539773 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539781 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539792 | controller | - ' exit 0' 2025-11-25 10:02:01.539800 | controller | - ' else' 2025-11-25 10:02:01.539808 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539815 | controller | - ' exit 1' 2025-11-25 10:02:01.539821 | controller | - ' fi' 2025-11-25 10:02:01.539831 | controller | - ' ]' 2025-11-25 10:02:01.539837 | controller | - ' logger.go:42: 09:49:13 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539843 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539849 | controller | rely on' 2025-11-25 10:02:01.539854 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539860 | controller | and checks that' 2025-11-25 10:02:01.539866 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.539873 | controller | pattern' 2025-11-25 10:02:01.539881 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.539889 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.539896 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.539904 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.539911 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.539919 | controller | - ' exit 0' 2025-11-25 10:02:01.539926 | controller | - ' else' 2025-11-25 10:02:01.539934 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.539941 | controller | - ' exit 1' 2025-11-25 10:02:01.539948 | controller | - ' fi' 2025-11-25 10:02:01.539955 | controller | - ' ]' 2025-11-25 10:02:01.539962 | controller | - ' logger.go:42: 09:49:14 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.539974 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.539982 | controller | rely on' 2025-11-25 10:02:01.539989 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.539997 | controller | and checks that' 2025-11-25 10:02:01.540004 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540012 | controller | pattern' 2025-11-25 10:02:01.540019 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540026 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540045 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540052 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540060 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540068 | controller | - ' exit 0' 2025-11-25 10:02:01.540075 | controller | - ' else' 2025-11-25 10:02:01.540083 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540090 | controller | - ' exit 1' 2025-11-25 10:02:01.540098 | controller | - ' fi' 2025-11-25 10:02:01.540105 | controller | - ' ]' 2025-11-25 10:02:01.540113 | controller | - ' logger.go:42: 09:49:15 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540121 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.540128 | controller | rely on' 2025-11-25 10:02:01.540135 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.540143 | controller | and checks that' 2025-11-25 10:02:01.540150 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540157 | controller | pattern' 2025-11-25 10:02:01.540164 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540171 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540179 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540191 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540199 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540206 | controller | - ' exit 0' 2025-11-25 10:02:01.540214 | controller | - ' else' 2025-11-25 10:02:01.540221 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540229 | controller | - ' exit 1' 2025-11-25 10:02:01.540236 | controller | - ' fi' 2025-11-25 10:02:01.540244 | controller | - ' ]' 2025-11-25 10:02:01.540251 | controller | - ' logger.go:42: 09:49:16 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540259 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.540266 | controller | rely on' 2025-11-25 10:02:01.540274 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.540282 | controller | and checks that' 2025-11-25 10:02:01.540289 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540296 | controller | pattern' 2025-11-25 10:02:01.540304 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540311 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540319 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540326 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540333 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540341 | controller | - ' exit 0' 2025-11-25 10:02:01.540349 | controller | - ' else' 2025-11-25 10:02:01.540356 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540364 | controller | - ' exit 1' 2025-11-25 10:02:01.540371 | controller | - ' fi' 2025-11-25 10:02:01.540379 | controller | - ' ]' 2025-11-25 10:02:01.540390 | controller | - ' logger.go:42: 09:49:17 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540398 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.540405 | controller | rely on' 2025-11-25 10:02:01.540413 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.540420 | controller | and checks that' 2025-11-25 10:02:01.540428 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540435 | controller | pattern' 2025-11-25 10:02:01.540443 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540451 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540459 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540466 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540473 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540481 | controller | - ' exit 0' 2025-11-25 10:02:01.540488 | controller | - ' else' 2025-11-25 10:02:01.540496 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540503 | controller | - ' exit 1' 2025-11-25 10:02:01.540511 | controller | - ' fi' 2025-11-25 10:02:01.540518 | controller | - ' ]' 2025-11-25 10:02:01.540526 | controller | - ' logger.go:42: 09:49:19 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540533 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.540541 | controller | rely on' 2025-11-25 10:02:01.540548 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.540556 | controller | and checks that' 2025-11-25 10:02:01.540571 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540578 | controller | pattern' 2025-11-25 10:02:01.540602 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540613 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540633 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540642 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540650 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540658 | controller | - ' exit 0' 2025-11-25 10:02:01.540665 | controller | - ' else' 2025-11-25 10:02:01.540672 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540680 | controller | - ' exit 1' 2025-11-25 10:02:01.540688 | controller | - ' fi' 2025-11-25 10:02:01.540696 | controller | - ' ]' 2025-11-25 10:02:01.540703 | controller | - ' logger.go:42: 09:49:20 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540711 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.540719 | controller | rely on' 2025-11-25 10:02:01.540727 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.540734 | controller | and checks that' 2025-11-25 10:02:01.540741 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540749 | controller | pattern' 2025-11-25 10:02:01.540756 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540764 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540771 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540779 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540787 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540795 | controller | - ' exit 0' 2025-11-25 10:02:01.540803 | controller | - ' else' 2025-11-25 10:02:01.540810 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540818 | controller | - ' exit 1' 2025-11-25 10:02:01.540825 | controller | - ' fi' 2025-11-25 10:02:01.540833 | controller | - ' ]' 2025-11-25 10:02:01.540840 | controller | - ' logger.go:42: 09:49:21 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540848 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.540855 | controller | rely on' 2025-11-25 10:02:01.540863 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.540870 | controller | and checks that' 2025-11-25 10:02:01.540878 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.540886 | controller | pattern' 2025-11-25 10:02:01.540894 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.540902 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.540913 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.540921 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.540928 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.540936 | controller | - ' exit 0' 2025-11-25 10:02:01.540943 | controller | - ' else' 2025-11-25 10:02:01.540951 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.540959 | controller | - ' exit 1' 2025-11-25 10:02:01.540970 | controller | - ' fi' 2025-11-25 10:02:01.540982 | controller | - ' ]' 2025-11-25 10:02:01.540990 | controller | - ' logger.go:42: 09:49:22 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.540997 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541005 | controller | rely on' 2025-11-25 10:02:01.541012 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541020 | controller | and checks that' 2025-11-25 10:02:01.541027 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541035 | controller | pattern' 2025-11-25 10:02:01.541044 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541052 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541060 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541068 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541076 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541084 | controller | - ' exit 0' 2025-11-25 10:02:01.541091 | controller | - ' else' 2025-11-25 10:02:01.541099 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.541106 | controller | - ' exit 1' 2025-11-25 10:02:01.541114 | controller | - ' fi' 2025-11-25 10:02:01.541121 | controller | - ' ]' 2025-11-25 10:02:01.541129 | controller | - ' logger.go:42: 09:49:23 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.541136 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541144 | controller | rely on' 2025-11-25 10:02:01.541152 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541159 | controller | and checks that' 2025-11-25 10:02:01.541167 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541175 | controller | pattern' 2025-11-25 10:02:01.541182 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541190 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541211 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541219 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541227 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541235 | controller | - ' exit 0' 2025-11-25 10:02:01.541243 | controller | - ' else' 2025-11-25 10:02:01.541251 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.541258 | controller | - ' exit 1' 2025-11-25 10:02:01.541266 | controller | - ' fi' 2025-11-25 10:02:01.541273 | controller | - ' ]' 2025-11-25 10:02:01.541281 | controller | - ' logger.go:42: 09:49:24 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.541288 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541296 | controller | rely on' 2025-11-25 10:02:01.541303 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541311 | controller | and checks that' 2025-11-25 10:02:01.541318 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541326 | controller | pattern' 2025-11-25 10:02:01.541334 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541342 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541353 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541361 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541369 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541376 | controller | - ' exit 0' 2025-11-25 10:02:01.541384 | controller | - ' else' 2025-11-25 10:02:01.541391 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.541399 | controller | - ' exit 1' 2025-11-25 10:02:01.541407 | controller | - ' fi' 2025-11-25 10:02:01.541414 | controller | - ' ]' 2025-11-25 10:02:01.541422 | controller | - ' logger.go:42: 09:49:26 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.541430 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541437 | controller | rely on' 2025-11-25 10:02:01.541445 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541452 | controller | and checks that' 2025-11-25 10:02:01.541464 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541471 | controller | pattern' 2025-11-25 10:02:01.541479 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541486 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541494 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541501 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541509 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541517 | controller | - ' exit 0' 2025-11-25 10:02:01.541524 | controller | - ' else' 2025-11-25 10:02:01.541532 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.541539 | controller | - ' exit 1' 2025-11-25 10:02:01.541546 | controller | - ' fi' 2025-11-25 10:02:01.541568 | controller | - ' ]' 2025-11-25 10:02:01.541576 | controller | - ' logger.go:42: 09:49:27 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.541583 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541611 | controller | rely on' 2025-11-25 10:02:01.541619 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541626 | controller | and checks that' 2025-11-25 10:02:01.541634 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541641 | controller | pattern' 2025-11-25 10:02:01.541649 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541656 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541664 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541671 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541679 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541687 | controller | - ' exit 0' 2025-11-25 10:02:01.541694 | controller | - ' else' 2025-11-25 10:02:01.541702 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.541709 | controller | - ' exit 1' 2025-11-25 10:02:01.541717 | controller | - ' fi' 2025-11-25 10:02:01.541724 | controller | - ' ]' 2025-11-25 10:02:01.541731 | controller | - ' logger.go:42: 09:49:28 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.541739 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541746 | controller | rely on' 2025-11-25 10:02:01.541754 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541767 | controller | and checks that' 2025-11-25 10:02:01.541774 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541782 | controller | pattern' 2025-11-25 10:02:01.541789 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541797 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541816 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541824 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541832 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541839 | controller | - ' exit 0' 2025-11-25 10:02:01.541847 | controller | - ' else' 2025-11-25 10:02:01.541855 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.541863 | controller | - ' exit 1' 2025-11-25 10:02:01.541870 | controller | - ' fi' 2025-11-25 10:02:01.541878 | controller | - ' ]' 2025-11-25 10:02:01.541885 | controller | - ' logger.go:42: 09:49:29 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.541893 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.541900 | controller | rely on' 2025-11-25 10:02:01.541910 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.541918 | controller | and checks that' 2025-11-25 10:02:01.541928 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.541936 | controller | pattern' 2025-11-25 10:02:01.541944 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.541951 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.541959 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.541966 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.541974 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.541981 | controller | - ' exit 0' 2025-11-25 10:02:01.541988 | controller | - ' else' 2025-11-25 10:02:01.541996 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.542004 | controller | - ' exit 1' 2025-11-25 10:02:01.542012 | controller | - ' fi' 2025-11-25 10:02:01.542019 | controller | - ' ]' 2025-11-25 10:02:01.542027 | controller | - ' logger.go:42: 09:49:30 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.542035 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.542042 | controller | rely on' 2025-11-25 10:02:01.542050 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.542057 | controller | and checks that' 2025-11-25 10:02:01.542064 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.542072 | controller | pattern' 2025-11-25 10:02:01.542079 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.542087 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.542095 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.542103 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.542110 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.542118 | controller | - ' exit 0' 2025-11-25 10:02:01.542125 | controller | - ' else' 2025-11-25 10:02:01.542133 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.542144 | controller | - ' exit 1' 2025-11-25 10:02:01.542152 | controller | - ' fi' 2025-11-25 10:02:01.542159 | controller | - ' ]' 2025-11-25 10:02:01.542167 | controller | - ' logger.go:42: 09:49:31 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.542175 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.542182 | controller | rely on' 2025-11-25 10:02:01.542190 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.542197 | controller | and checks that' 2025-11-25 10:02:01.542205 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.542212 | controller | pattern' 2025-11-25 10:02:01.542220 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.542227 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.542234 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.542242 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.542255 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.542262 | controller | - ' exit 0' 2025-11-25 10:02:01.542270 | controller | - ' else' 2025-11-25 10:02:01.542277 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.542285 | controller | - ' exit 1' 2025-11-25 10:02:01.542292 | controller | - ' fi' 2025-11-25 10:02:01.542300 | controller | - ' ]' 2025-11-25 10:02:01.542307 | controller | - ' logger.go:42: 09:49:33 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.542315 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.542323 | controller | rely on' 2025-11-25 10:02:01.542331 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.542339 | controller | and checks that' 2025-11-25 10:02:01.542346 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.542354 | controller | pattern' 2025-11-25 10:02:01.542361 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.542369 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.542387 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.542395 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.542403 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.542415 | controller | - ' exit 0' 2025-11-25 10:02:01.542423 | controller | - ' else' 2025-11-25 10:02:01.542431 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.542439 | controller | - ' exit 1' 2025-11-25 10:02:01.542446 | controller | - ' fi' 2025-11-25 10:02:01.542454 | controller | - ' ]' 2025-11-25 10:02:01.542461 | controller | - ' logger.go:42: 09:49:34 | keystone_tls/1-keystoneapi_tls_deploy | running command: 2025-11-25 10:02:01.542469 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.542476 | controller | rely on' 2025-11-25 10:02:01.542483 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.542491 | controller | and checks that' 2025-11-25 10:02:01.542499 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.542506 | controller | pattern' 2025-11-25 10:02:01.542514 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.542521 | controller | - ' regex="https:\/\/keystone-internal.$NAMESPACE.*:https:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.542533 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.542540 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.542548 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.542555 | controller | - ' exit 0' 2025-11-25 10:02:01.542566 | controller | - ' else' 2025-11-25 10:02:01.542574 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.542581 | controller | - ' exit 1' 2025-11-25 10:02:01.542609 | controller | - ' fi' 2025-11-25 10:02:01.542617 | controller | - ' ]' 2025-11-25 10:02:01.542624 | controller | - ' logger.go:42: 09:49:34 | keystone_tls/1-keystoneapi_tls_deploy | test step 2025-11-25 10:02:01.542632 | controller | completed 1-keystoneapi_tls_deploy' 2025-11-25 10:02:01.542639 | controller | - ' logger.go:42: 09:49:34 | keystone_tls/2-cleanup-keystone | starting test step 2025-11-25 10:02:01.542647 | controller | 2-cleanup-keystone' 2025-11-25 10:02:01.542658 | controller | - ' logger.go:42: 09:49:39 | keystone_tls/2-cleanup-keystone | test step completed 2025-11-25 10:02:01.542666 | controller | 2-cleanup-keystone' 2025-11-25 10:02:01.542673 | controller | - ' logger.go:42: 09:49:39 | keystone_tls | skipping kubernetes event logging' 2025-11-25 10:02:01.542681 | controller | - === CONT kuttl/harness/keystone_resources 2025-11-25 10:02:01.542689 | controller | - ' logger.go:42: 09:49:39 | keystone_resources | Skipping creation of user-supplied 2025-11-25 10:02:01.542696 | controller | namespace: keystone-kuttl-tests' 2025-11-25 10:02:01.542704 | controller | - ' logger.go:42: 09:49:39 | keystone_resources/0-deploy_keystone | starting test 2025-11-25 10:02:01.542711 | controller | step 0-deploy_keystone' 2025-11-25 10:02:01.542718 | controller | - ' logger.go:42: 09:49:39 | keystone_resources/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 10:02:01.542726 | controller | created' 2025-11-25 10:02:01.542733 | controller | - ' logger.go:42: 09:49:39 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.542741 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.542749 | controller | rely on' 2025-11-25 10:02:01.542756 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.542764 | controller | and checks that' 2025-11-25 10:02:01.542771 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.542779 | controller | pattern' 2025-11-25 10:02:01.542786 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.542794 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.542801 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.542809 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.542816 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.542823 | controller | - ' exit 0' 2025-11-25 10:02:01.542831 | controller | - ' else' 2025-11-25 10:02:01.542839 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.542846 | controller | - ' exit 1' 2025-11-25 10:02:01.542854 | controller | - ' fi' 2025-11-25 10:02:01.542861 | controller | - ' ' 2025-11-25 10:02:01.542869 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.542876 | controller | them with a script' 2025-11-25 10:02:01.542884 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.542891 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.542898 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.542906 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.542918 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.542933 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.542941 | controller | - ' # it is an image' 2025-11-25 10:02:01.542948 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.542956 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.542963 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.542982 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.542990 | controller | - ' case $NAME in' 2025-11-25 10:02:01.542998 | controller | - ' API)' 2025-11-25 10:02:01.543006 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.543013 | controller | - ' ;;' 2025-11-25 10:02:01.543021 | controller | - ' esac' 2025-11-25 10:02:01.543028 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.543036 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.543043 | controller | - ' exit 1' 2025-11-25 10:02:01.543051 | controller | - ' fi' 2025-11-25 10:02:01.543058 | controller | - ' fi' 2025-11-25 10:02:01.543066 | controller | - ' done' 2025-11-25 10:02:01.543073 | controller | - ' ]' 2025-11-25 10:02:01.543081 | controller | - ' logger.go:42: 09:49:39 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.543088 | controller | : do not match regex' 2025-11-25 10:02:01.543096 | controller | - ' logger.go:42: 09:49:40 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.543103 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.543111 | controller | rely on' 2025-11-25 10:02:01.543118 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.543126 | controller | and checks that' 2025-11-25 10:02:01.543133 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.543141 | controller | pattern' 2025-11-25 10:02:01.543148 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.543156 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.543163 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.543171 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.543178 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.543186 | controller | - ' exit 0' 2025-11-25 10:02:01.543194 | controller | - ' else' 2025-11-25 10:02:01.543201 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.543209 | controller | - ' exit 1' 2025-11-25 10:02:01.543216 | controller | - ' fi' 2025-11-25 10:02:01.543223 | controller | - ' ' 2025-11-25 10:02:01.543231 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.543238 | controller | them with a script' 2025-11-25 10:02:01.543246 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.543253 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.543261 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.543269 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.543276 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.543295 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.543303 | controller | - ' # it is an image' 2025-11-25 10:02:01.543310 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.543318 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.543325 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.543332 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.543340 | controller | - ' case $NAME in' 2025-11-25 10:02:01.543348 | controller | - ' API)' 2025-11-25 10:02:01.543356 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.543363 | controller | - ' ;;' 2025-11-25 10:02:01.543370 | controller | - ' esac' 2025-11-25 10:02:01.543378 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.543385 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.543393 | controller | - ' exit 1' 2025-11-25 10:02:01.543400 | controller | - ' fi' 2025-11-25 10:02:01.543408 | controller | - ' fi' 2025-11-25 10:02:01.543415 | controller | - ' done' 2025-11-25 10:02:01.543423 | controller | - ' ]' 2025-11-25 10:02:01.543431 | controller | - ' logger.go:42: 09:49:40 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.543438 | controller | : do not match regex' 2025-11-25 10:02:01.543446 | controller | - ' logger.go:42: 09:49:42 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.543453 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.543461 | controller | rely on' 2025-11-25 10:02:01.543468 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.543475 | controller | and checks that' 2025-11-25 10:02:01.543483 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.543490 | controller | pattern' 2025-11-25 10:02:01.543498 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.543506 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.543513 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.543521 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.543529 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.543536 | controller | - ' exit 0' 2025-11-25 10:02:01.543543 | controller | - ' else' 2025-11-25 10:02:01.543562 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.543570 | controller | - ' exit 1' 2025-11-25 10:02:01.543577 | controller | - ' fi' 2025-11-25 10:02:01.543585 | controller | - ' ' 2025-11-25 10:02:01.543608 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.543620 | controller | them with a script' 2025-11-25 10:02:01.543627 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.543635 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.543642 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.543649 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.543657 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.543672 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.543680 | controller | - ' # it is an image' 2025-11-25 10:02:01.543687 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.543702 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.543710 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.543717 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.543725 | controller | - ' case $NAME in' 2025-11-25 10:02:01.543732 | controller | - ' API)' 2025-11-25 10:02:01.543740 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.543747 | controller | - ' ;;' 2025-11-25 10:02:01.543755 | controller | - ' esac' 2025-11-25 10:02:01.543763 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.543770 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.543778 | controller | - ' exit 1' 2025-11-25 10:02:01.543785 | controller | - ' fi' 2025-11-25 10:02:01.543793 | controller | - ' fi' 2025-11-25 10:02:01.543800 | controller | - ' done' 2025-11-25 10:02:01.543808 | controller | - ' ]' 2025-11-25 10:02:01.543815 | controller | - ' logger.go:42: 09:49:42 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.543823 | controller | : do not match regex' 2025-11-25 10:02:01.543834 | controller | - ' logger.go:42: 09:49:43 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.543842 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.543850 | controller | rely on' 2025-11-25 10:02:01.543857 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.543865 | controller | and checks that' 2025-11-25 10:02:01.543875 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.543883 | controller | pattern' 2025-11-25 10:02:01.543890 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.543898 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.543905 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.543913 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.543920 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.543928 | controller | - ' exit 0' 2025-11-25 10:02:01.543936 | controller | - ' else' 2025-11-25 10:02:01.543944 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.543951 | controller | - ' exit 1' 2025-11-25 10:02:01.543959 | controller | - ' fi' 2025-11-25 10:02:01.543966 | controller | - ' ' 2025-11-25 10:02:01.543974 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.543981 | controller | them with a script' 2025-11-25 10:02:01.543989 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.543996 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.544008 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.544016 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.544023 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.544039 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.544046 | controller | - ' # it is an image' 2025-11-25 10:02:01.544054 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.544061 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.544068 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.544080 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.544087 | controller | - ' case $NAME in' 2025-11-25 10:02:01.544095 | controller | - ' API)' 2025-11-25 10:02:01.544103 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.544110 | controller | - ' ;;' 2025-11-25 10:02:01.544118 | controller | - ' esac' 2025-11-25 10:02:01.544125 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.544133 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.544140 | controller | - ' exit 1' 2025-11-25 10:02:01.544151 | controller | - ' fi' 2025-11-25 10:02:01.544158 | controller | - ' fi' 2025-11-25 10:02:01.544166 | controller | - ' done' 2025-11-25 10:02:01.544174 | controller | - ' ]' 2025-11-25 10:02:01.544193 | controller | - ' logger.go:42: 09:49:43 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.544201 | controller | : do not match regex' 2025-11-25 10:02:01.544209 | controller | - ' logger.go:42: 09:49:44 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.544216 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.544224 | controller | rely on' 2025-11-25 10:02:01.544231 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.544239 | controller | and checks that' 2025-11-25 10:02:01.544246 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.544254 | controller | pattern' 2025-11-25 10:02:01.544261 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.544269 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.544280 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.544288 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.544296 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.544303 | controller | - ' exit 0' 2025-11-25 10:02:01.544311 | controller | - ' else' 2025-11-25 10:02:01.544318 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.544325 | controller | - ' exit 1' 2025-11-25 10:02:01.544333 | controller | - ' fi' 2025-11-25 10:02:01.544340 | controller | - ' ' 2025-11-25 10:02:01.544348 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.544356 | controller | them with a script' 2025-11-25 10:02:01.544363 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.544371 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.544379 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.544386 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.544393 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.544408 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.544416 | controller | - ' # it is an image' 2025-11-25 10:02:01.544423 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.544431 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.544438 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.544446 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.544453 | controller | - ' case $NAME in' 2025-11-25 10:02:01.544465 | controller | - ' API)' 2025-11-25 10:02:01.544472 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.544480 | controller | - ' ;;' 2025-11-25 10:02:01.544487 | controller | - ' esac' 2025-11-25 10:02:01.544495 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.544502 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.544510 | controller | - ' exit 1' 2025-11-25 10:02:01.544517 | controller | - ' fi' 2025-11-25 10:02:01.544525 | controller | - ' fi' 2025-11-25 10:02:01.544533 | controller | - ' done' 2025-11-25 10:02:01.544540 | controller | - ' ]' 2025-11-25 10:02:01.544548 | controller | - ' logger.go:42: 09:49:44 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.544555 | controller | : do not match regex' 2025-11-25 10:02:01.544562 | controller | - ' logger.go:42: 09:49:45 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.544570 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.544577 | controller | rely on' 2025-11-25 10:02:01.544585 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.544614 | controller | and checks that' 2025-11-25 10:02:01.544625 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.544633 | controller | pattern' 2025-11-25 10:02:01.544640 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.544648 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.544655 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.544663 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.544670 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.544678 | controller | - ' exit 0' 2025-11-25 10:02:01.544686 | controller | - ' else' 2025-11-25 10:02:01.544693 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.544701 | controller | - ' exit 1' 2025-11-25 10:02:01.544708 | controller | - ' fi' 2025-11-25 10:02:01.544716 | controller | - ' ' 2025-11-25 10:02:01.544723 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.544731 | controller | them with a script' 2025-11-25 10:02:01.544738 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.544746 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.544753 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.544771 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.544780 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.544795 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.544803 | controller | - ' # it is an image' 2025-11-25 10:02:01.544810 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.544818 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.544825 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.544833 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.544840 | controller | - ' case $NAME in' 2025-11-25 10:02:01.544847 | controller | - ' API)' 2025-11-25 10:02:01.544855 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.544862 | controller | - ' ;;' 2025-11-25 10:02:01.544874 | controller | - ' esac' 2025-11-25 10:02:01.544881 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.544889 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.544897 | controller | - ' exit 1' 2025-11-25 10:02:01.544904 | controller | - ' fi' 2025-11-25 10:02:01.544912 | controller | - ' fi' 2025-11-25 10:02:01.544920 | controller | - ' done' 2025-11-25 10:02:01.544927 | controller | - ' ]' 2025-11-25 10:02:01.544935 | controller | - ' logger.go:42: 09:49:45 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.544943 | controller | : do not match regex' 2025-11-25 10:02:01.544950 | controller | - ' logger.go:42: 09:49:46 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.544958 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.544965 | controller | rely on' 2025-11-25 10:02:01.544973 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.544980 | controller | and checks that' 2025-11-25 10:02:01.544988 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.544995 | controller | pattern' 2025-11-25 10:02:01.545003 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.545010 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.545018 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.545026 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.545033 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.545040 | controller | - ' exit 0' 2025-11-25 10:02:01.545048 | controller | - ' else' 2025-11-25 10:02:01.545055 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.545062 | controller | - ' exit 1' 2025-11-25 10:02:01.545069 | controller | - ' fi' 2025-11-25 10:02:01.545077 | controller | - ' ' 2025-11-25 10:02:01.545089 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.545096 | controller | them with a script' 2025-11-25 10:02:01.545104 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.545111 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.545119 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.545126 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.545134 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.545149 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.545156 | controller | - ' # it is an image' 2025-11-25 10:02:01.545164 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.545171 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.545182 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.545189 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.545197 | controller | - ' case $NAME in' 2025-11-25 10:02:01.545205 | controller | - ' API)' 2025-11-25 10:02:01.545212 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.545220 | controller | - ' ;;' 2025-11-25 10:02:01.545227 | controller | - ' esac' 2025-11-25 10:02:01.545235 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.545242 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.545254 | controller | - ' exit 1' 2025-11-25 10:02:01.545261 | controller | - ' fi' 2025-11-25 10:02:01.545269 | controller | - ' fi' 2025-11-25 10:02:01.545276 | controller | - ' done' 2025-11-25 10:02:01.545284 | controller | - ' ]' 2025-11-25 10:02:01.545291 | controller | - ' logger.go:42: 09:49:46 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.545299 | controller | : do not match regex' 2025-11-25 10:02:01.545306 | controller | - ' logger.go:42: 09:49:47 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.545314 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.545321 | controller | rely on' 2025-11-25 10:02:01.545329 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.545336 | controller | and checks that' 2025-11-25 10:02:01.545344 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.545351 | controller | pattern' 2025-11-25 10:02:01.545371 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.545380 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.545387 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.545395 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.545402 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.545410 | controller | - ' exit 0' 2025-11-25 10:02:01.545417 | controller | - ' else' 2025-11-25 10:02:01.545425 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.545432 | controller | - ' exit 1' 2025-11-25 10:02:01.545440 | controller | - ' fi' 2025-11-25 10:02:01.545448 | controller | - ' ' 2025-11-25 10:02:01.545455 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.545463 | controller | them with a script' 2025-11-25 10:02:01.545470 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.545478 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.545485 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.545493 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.545500 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.545515 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.545522 | controller | - ' # it is an image' 2025-11-25 10:02:01.545530 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.545538 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.545545 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.545565 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.545573 | controller | - ' case $NAME in' 2025-11-25 10:02:01.545580 | controller | - ' API)' 2025-11-25 10:02:01.545588 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.545747 | controller | - ' ;;' 2025-11-25 10:02:01.545756 | controller | - ' esac' 2025-11-25 10:02:01.545764 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.545772 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.545779 | controller | - ' exit 1' 2025-11-25 10:02:01.545787 | controller | - ' fi' 2025-11-25 10:02:01.545794 | controller | - ' fi' 2025-11-25 10:02:01.545807 | controller | - ' done' 2025-11-25 10:02:01.545818 | controller | - ' ]' 2025-11-25 10:02:01.545826 | controller | - ' logger.go:42: 09:49:47 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.545833 | controller | : do not match regex' 2025-11-25 10:02:01.545841 | controller | - ' logger.go:42: 09:49:49 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.545848 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.545856 | controller | rely on' 2025-11-25 10:02:01.545864 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.545871 | controller | and checks that' 2025-11-25 10:02:01.545879 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.545886 | controller | pattern' 2025-11-25 10:02:01.545893 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.545901 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.545908 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.545916 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.545923 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.545931 | controller | - ' exit 0' 2025-11-25 10:02:01.545938 | controller | - ' else' 2025-11-25 10:02:01.545946 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.545953 | controller | - ' exit 1' 2025-11-25 10:02:01.545961 | controller | - ' fi' 2025-11-25 10:02:01.545968 | controller | - ' ' 2025-11-25 10:02:01.545976 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.545983 | controller | them with a script' 2025-11-25 10:02:01.545991 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.545998 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.546006 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.546013 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.546021 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.546036 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.546043 | controller | - ' # it is an image' 2025-11-25 10:02:01.546051 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.546059 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.546066 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.546074 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.546095 | controller | - ' case $NAME in' 2025-11-25 10:02:01.546102 | controller | - ' API)' 2025-11-25 10:02:01.546110 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.546117 | controller | - ' ;;' 2025-11-25 10:02:01.546125 | controller | - ' esac' 2025-11-25 10:02:01.546133 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.546140 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.546152 | controller | - ' exit 1' 2025-11-25 10:02:01.546160 | controller | - ' fi' 2025-11-25 10:02:01.546167 | controller | - ' fi' 2025-11-25 10:02:01.546175 | controller | - ' done' 2025-11-25 10:02:01.546182 | controller | - ' ]' 2025-11-25 10:02:01.546189 | controller | - ' logger.go:42: 09:49:49 | keystone_resources/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.546204 | controller | : do not match regex' 2025-11-25 10:02:01.546212 | controller | - ' logger.go:42: 09:49:50 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.546220 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.546227 | controller | rely on' 2025-11-25 10:02:01.546234 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.546242 | controller | and checks that' 2025-11-25 10:02:01.546249 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.546257 | controller | pattern' 2025-11-25 10:02:01.546264 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.546272 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.546279 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.546287 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.546294 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.546302 | controller | - ' exit 0' 2025-11-25 10:02:01.546309 | controller | - ' else' 2025-11-25 10:02:01.546317 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.546324 | controller | - ' exit 1' 2025-11-25 10:02:01.546332 | controller | - ' fi' 2025-11-25 10:02:01.546339 | controller | - ' ' 2025-11-25 10:02:01.546346 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.546354 | controller | them with a script' 2025-11-25 10:02:01.546361 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.546369 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.546376 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.546384 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.546391 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.546402 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.546408 | controller | - ' # it is an image' 2025-11-25 10:02:01.546414 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.546420 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.546426 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.546432 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.546441 | controller | - ' case $NAME in' 2025-11-25 10:02:01.546447 | controller | - ' API)' 2025-11-25 10:02:01.546452 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.546458 | controller | - ' ;;' 2025-11-25 10:02:01.546464 | controller | - ' esac' 2025-11-25 10:02:01.546470 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.546476 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.546481 | controller | - ' exit 1' 2025-11-25 10:02:01.546488 | controller | - ' fi' 2025-11-25 10:02:01.546495 | controller | - ' fi' 2025-11-25 10:02:01.546503 | controller | - ' done' 2025-11-25 10:02:01.546511 | controller | - ' ]' 2025-11-25 10:02:01.546518 | controller | - ' logger.go:42: 09:49:51 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.546526 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.546533 | controller | rely on' 2025-11-25 10:02:01.546541 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.546552 | controller | and checks that' 2025-11-25 10:02:01.546560 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.546567 | controller | pattern' 2025-11-25 10:02:01.546578 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.546585 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.546612 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.546620 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.546628 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.546635 | controller | - ' exit 0' 2025-11-25 10:02:01.546643 | controller | - ' else' 2025-11-25 10:02:01.546650 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.546657 | controller | - ' exit 1' 2025-11-25 10:02:01.546665 | controller | - ' fi' 2025-11-25 10:02:01.546672 | controller | - ' ' 2025-11-25 10:02:01.546690 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.546697 | controller | them with a script' 2025-11-25 10:02:01.546703 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.546709 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.546715 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.546721 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.546726 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.546738 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.546744 | controller | - ' # it is an image' 2025-11-25 10:02:01.546750 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.546755 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.546761 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.546767 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.546773 | controller | - ' case $NAME in' 2025-11-25 10:02:01.546779 | controller | - ' API)' 2025-11-25 10:02:01.546784 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.546790 | controller | - ' ;;' 2025-11-25 10:02:01.546796 | controller | - ' esac' 2025-11-25 10:02:01.546802 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.546808 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.546813 | controller | - ' exit 1' 2025-11-25 10:02:01.546819 | controller | - ' fi' 2025-11-25 10:02:01.546825 | controller | - ' fi' 2025-11-25 10:02:01.546831 | controller | - ' done' 2025-11-25 10:02:01.546836 | controller | - ' ]' 2025-11-25 10:02:01.546842 | controller | - ' logger.go:42: 09:49:52 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.546848 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.546854 | controller | rely on' 2025-11-25 10:02:01.546860 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.546865 | controller | and checks that' 2025-11-25 10:02:01.546871 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.546877 | controller | pattern' 2025-11-25 10:02:01.546883 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.546892 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.546898 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.546904 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.546910 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.546915 | controller | - ' exit 0' 2025-11-25 10:02:01.546921 | controller | - ' else' 2025-11-25 10:02:01.546927 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.546933 | controller | - ' exit 1' 2025-11-25 10:02:01.546939 | controller | - ' fi' 2025-11-25 10:02:01.546944 | controller | - ' ' 2025-11-25 10:02:01.546950 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.546956 | controller | them with a script' 2025-11-25 10:02:01.546963 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.546968 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.546974 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.546980 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.546986 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.546998 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.547003 | controller | - ' # it is an image' 2025-11-25 10:02:01.547009 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.547015 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.547021 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.547027 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.547034 | controller | - ' case $NAME in' 2025-11-25 10:02:01.547042 | controller | - ' API)' 2025-11-25 10:02:01.547049 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.547057 | controller | - ' ;;' 2025-11-25 10:02:01.547064 | controller | - ' esac' 2025-11-25 10:02:01.547070 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.547076 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.547081 | controller | - ' exit 1' 2025-11-25 10:02:01.547091 | controller | - ' fi' 2025-11-25 10:02:01.547097 | controller | - ' fi' 2025-11-25 10:02:01.547103 | controller | - ' done' 2025-11-25 10:02:01.547111 | controller | - ' ]' 2025-11-25 10:02:01.547119 | controller | - ' logger.go:42: 09:49:53 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.547126 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.547134 | controller | rely on' 2025-11-25 10:02:01.547142 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.547149 | controller | and checks that' 2025-11-25 10:02:01.547166 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.547172 | controller | pattern' 2025-11-25 10:02:01.547178 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.547184 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.547190 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.547196 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.547205 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.547211 | controller | - ' exit 0' 2025-11-25 10:02:01.547220 | controller | - ' else' 2025-11-25 10:02:01.547226 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.547232 | controller | - ' exit 1' 2025-11-25 10:02:01.547237 | controller | - ' fi' 2025-11-25 10:02:01.547243 | controller | - ' ' 2025-11-25 10:02:01.547249 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.547255 | controller | them with a script' 2025-11-25 10:02:01.547261 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.547267 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.547272 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.547278 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.547284 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.547296 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.547302 | controller | - ' # it is an image' 2025-11-25 10:02:01.547307 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.547313 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.547319 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.547325 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.547330 | controller | - ' case $NAME in' 2025-11-25 10:02:01.547336 | controller | - ' API)' 2025-11-25 10:02:01.547342 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.547348 | controller | - ' ;;' 2025-11-25 10:02:01.547354 | controller | - ' esac' 2025-11-25 10:02:01.547360 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.547365 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.547371 | controller | - ' exit 1' 2025-11-25 10:02:01.547377 | controller | - ' fi' 2025-11-25 10:02:01.547383 | controller | - ' fi' 2025-11-25 10:02:01.547389 | controller | - ' done' 2025-11-25 10:02:01.547394 | controller | - ' ]' 2025-11-25 10:02:01.547400 | controller | - ' logger.go:42: 09:49:54 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.547406 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.547412 | controller | rely on' 2025-11-25 10:02:01.547417 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.547423 | controller | and checks that' 2025-11-25 10:02:01.547429 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.547435 | controller | pattern' 2025-11-25 10:02:01.547441 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.547447 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.547452 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.547458 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.547464 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.547473 | controller | - ' exit 0' 2025-11-25 10:02:01.547479 | controller | - ' else' 2025-11-25 10:02:01.547485 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.547491 | controller | - ' exit 1' 2025-11-25 10:02:01.547497 | controller | - ' fi' 2025-11-25 10:02:01.547502 | controller | - ' ' 2025-11-25 10:02:01.547511 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.547517 | controller | them with a script' 2025-11-25 10:02:01.547524 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.547532 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.547540 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.547547 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.547556 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.547571 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.547581 | controller | - ' # it is an image' 2025-11-25 10:02:01.547587 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.547613 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.547619 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.547625 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.547631 | controller | - ' case $NAME in' 2025-11-25 10:02:01.547637 | controller | - ' API)' 2025-11-25 10:02:01.547655 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.547662 | controller | - ' ;;' 2025-11-25 10:02:01.547667 | controller | - ' esac' 2025-11-25 10:02:01.547673 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.547679 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.547685 | controller | - ' exit 1' 2025-11-25 10:02:01.547691 | controller | - ' fi' 2025-11-25 10:02:01.547697 | controller | - ' fi' 2025-11-25 10:02:01.547703 | controller | - ' done' 2025-11-25 10:02:01.547708 | controller | - ' ]' 2025-11-25 10:02:01.547714 | controller | - ' logger.go:42: 09:49:56 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.547720 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.547726 | controller | rely on' 2025-11-25 10:02:01.547731 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.547737 | controller | and checks that' 2025-11-25 10:02:01.547743 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.547749 | controller | pattern' 2025-11-25 10:02:01.547755 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.547761 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.547766 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.547772 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.547778 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.547784 | controller | - ' exit 0' 2025-11-25 10:02:01.547789 | controller | - ' else' 2025-11-25 10:02:01.547795 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.547801 | controller | - ' exit 1' 2025-11-25 10:02:01.547807 | controller | - ' fi' 2025-11-25 10:02:01.547813 | controller | - ' ' 2025-11-25 10:02:01.547818 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.547824 | controller | them with a script' 2025-11-25 10:02:01.547830 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.547836 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.547842 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.547851 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.547857 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.547868 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.547875 | controller | - ' # it is an image' 2025-11-25 10:02:01.547881 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.547887 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.547894 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.547900 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.547908 | controller | - ' case $NAME in' 2025-11-25 10:02:01.547915 | controller | - ' API)' 2025-11-25 10:02:01.547924 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.547934 | controller | - ' ;;' 2025-11-25 10:02:01.547942 | controller | - ' esac' 2025-11-25 10:02:01.547949 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.547957 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.547965 | controller | - ' exit 1' 2025-11-25 10:02:01.547971 | controller | - ' fi' 2025-11-25 10:02:01.547978 | controller | - ' fi' 2025-11-25 10:02:01.547984 | controller | - ' done' 2025-11-25 10:02:01.547990 | controller | - ' ]' 2025-11-25 10:02:01.547996 | controller | - ' logger.go:42: 09:49:57 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.548003 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.548009 | controller | rely on' 2025-11-25 10:02:01.548015 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.548023 | controller | and checks that' 2025-11-25 10:02:01.548031 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.548039 | controller | pattern' 2025-11-25 10:02:01.548046 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.548054 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.548066 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.548074 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.548084 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.548091 | controller | - ' exit 0' 2025-11-25 10:02:01.548099 | controller | - ' else' 2025-11-25 10:02:01.548112 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.548125 | controller | - ' exit 1' 2025-11-25 10:02:01.548133 | controller | - ' fi' 2025-11-25 10:02:01.548140 | controller | - ' ' 2025-11-25 10:02:01.548147 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.548154 | controller | them with a script' 2025-11-25 10:02:01.548162 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.548168 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.548187 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.548194 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.548199 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.548211 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.548226 | controller | - ' # it is an image' 2025-11-25 10:02:01.548232 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.548239 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.548245 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.548250 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.548256 | controller | - ' case $NAME in' 2025-11-25 10:02:01.548262 | controller | - ' API)' 2025-11-25 10:02:01.548268 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.548273 | controller | - ' ;;' 2025-11-25 10:02:01.548279 | controller | - ' esac' 2025-11-25 10:02:01.548285 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.548291 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.548297 | controller | - ' exit 1' 2025-11-25 10:02:01.548302 | controller | - ' fi' 2025-11-25 10:02:01.548308 | controller | - ' fi' 2025-11-25 10:02:01.548314 | controller | - ' done' 2025-11-25 10:02:01.548319 | controller | - ' ]' 2025-11-25 10:02:01.548325 | controller | - ' logger.go:42: 09:49:58 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.548331 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.548337 | controller | rely on' 2025-11-25 10:02:01.548342 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.548348 | controller | and checks that' 2025-11-25 10:02:01.548354 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.548360 | controller | pattern' 2025-11-25 10:02:01.548365 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.548371 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.548377 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.548383 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.548388 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.548394 | controller | - ' exit 0' 2025-11-25 10:02:01.548400 | controller | - ' else' 2025-11-25 10:02:01.548406 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.548411 | controller | - ' exit 1' 2025-11-25 10:02:01.548417 | controller | - ' fi' 2025-11-25 10:02:01.548427 | controller | - ' ' 2025-11-25 10:02:01.548432 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.548438 | controller | them with a script' 2025-11-25 10:02:01.548444 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.548450 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.548455 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.548461 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.548467 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.548479 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.548484 | controller | - ' # it is an image' 2025-11-25 10:02:01.548490 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.548496 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.548502 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.548510 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.548516 | controller | - ' case $NAME in' 2025-11-25 10:02:01.548522 | controller | - ' API)' 2025-11-25 10:02:01.548527 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.548533 | controller | - ' ;;' 2025-11-25 10:02:01.548539 | controller | - ' esac' 2025-11-25 10:02:01.548545 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.548551 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.548556 | controller | - ' exit 1' 2025-11-25 10:02:01.548562 | controller | - ' fi' 2025-11-25 10:02:01.548568 | controller | - ' fi' 2025-11-25 10:02:01.548574 | controller | - ' done' 2025-11-25 10:02:01.548579 | controller | - ' ]' 2025-11-25 10:02:01.548585 | controller | - ' logger.go:42: 09:49:59 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.548606 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.548616 | controller | rely on' 2025-11-25 10:02:01.548622 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.548628 | controller | and checks that' 2025-11-25 10:02:01.548634 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.548640 | controller | pattern' 2025-11-25 10:02:01.548645 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.548660 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.548666 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.548672 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.548678 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.548683 | controller | - ' exit 0' 2025-11-25 10:02:01.548689 | controller | - ' else' 2025-11-25 10:02:01.548695 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.548701 | controller | - ' exit 1' 2025-11-25 10:02:01.548707 | controller | - ' fi' 2025-11-25 10:02:01.548712 | controller | - ' ' 2025-11-25 10:02:01.548718 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.548724 | controller | them with a script' 2025-11-25 10:02:01.548730 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.548736 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.548745 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.548752 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.548757 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.548769 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.548775 | controller | - ' # it is an image' 2025-11-25 10:02:01.548780 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.548786 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.548792 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.548798 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.548803 | controller | - ' case $NAME in' 2025-11-25 10:02:01.548809 | controller | - ' API)' 2025-11-25 10:02:01.548815 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.548821 | controller | - ' ;;' 2025-11-25 10:02:01.548829 | controller | - ' esac' 2025-11-25 10:02:01.548835 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.548841 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.548846 | controller | - ' exit 1' 2025-11-25 10:02:01.548852 | controller | - ' fi' 2025-11-25 10:02:01.548858 | controller | - ' fi' 2025-11-25 10:02:01.548864 | controller | - ' done' 2025-11-25 10:02:01.548869 | controller | - ' ]' 2025-11-25 10:02:01.548875 | controller | - ' logger.go:42: 09:50:00 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.548881 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.548887 | controller | rely on' 2025-11-25 10:02:01.548895 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.548901 | controller | and checks that' 2025-11-25 10:02:01.548907 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.548912 | controller | pattern' 2025-11-25 10:02:01.548918 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.548924 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.548930 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.548936 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.548941 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.548947 | controller | - ' exit 0' 2025-11-25 10:02:01.548953 | controller | - ' else' 2025-11-25 10:02:01.548959 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.548964 | controller | - ' exit 1' 2025-11-25 10:02:01.548970 | controller | - ' fi' 2025-11-25 10:02:01.548976 | controller | - ' ' 2025-11-25 10:02:01.548982 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.548987 | controller | them with a script' 2025-11-25 10:02:01.548993 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.548999 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.549005 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.549010 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.549016 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.549028 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.549033 | controller | - ' # it is an image' 2025-11-25 10:02:01.549039 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.549045 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.549052 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.549060 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.549068 | controller | - ' case $NAME in' 2025-11-25 10:02:01.549075 | controller | - ' API)' 2025-11-25 10:02:01.549081 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.549087 | controller | - ' ;;' 2025-11-25 10:02:01.549093 | controller | - ' esac' 2025-11-25 10:02:01.549099 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.549112 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.549119 | controller | - ' exit 1' 2025-11-25 10:02:01.549124 | controller | - ' fi' 2025-11-25 10:02:01.549130 | controller | - ' fi' 2025-11-25 10:02:01.549139 | controller | - ' done' 2025-11-25 10:02:01.549145 | controller | - ' ]' 2025-11-25 10:02:01.549151 | controller | - ' logger.go:42: 09:50:01 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.549157 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.549162 | controller | rely on' 2025-11-25 10:02:01.549168 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.549174 | controller | and checks that' 2025-11-25 10:02:01.549180 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.549185 | controller | pattern' 2025-11-25 10:02:01.549191 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.549197 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.549203 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.549208 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.549214 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.549220 | controller | - ' exit 0' 2025-11-25 10:02:01.549226 | controller | - ' else' 2025-11-25 10:02:01.549231 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.549237 | controller | - ' exit 1' 2025-11-25 10:02:01.549243 | controller | - ' fi' 2025-11-25 10:02:01.549249 | controller | - ' ' 2025-11-25 10:02:01.549254 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.549260 | controller | them with a script' 2025-11-25 10:02:01.549266 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.549272 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.549277 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.549283 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.549289 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.549300 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.549306 | controller | - ' # it is an image' 2025-11-25 10:02:01.549312 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.549318 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.549323 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.549329 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.549335 | controller | - ' case $NAME in' 2025-11-25 10:02:01.549341 | controller | - ' API)' 2025-11-25 10:02:01.549346 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.549352 | controller | - ' ;;' 2025-11-25 10:02:01.549358 | controller | - ' esac' 2025-11-25 10:02:01.549364 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.549369 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.549375 | controller | - ' exit 1' 2025-11-25 10:02:01.549381 | controller | - ' fi' 2025-11-25 10:02:01.549387 | controller | - ' fi' 2025-11-25 10:02:01.549392 | controller | - ' done' 2025-11-25 10:02:01.549398 | controller | - ' ]' 2025-11-25 10:02:01.549404 | controller | - ' logger.go:42: 09:50:03 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.549410 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.549415 | controller | rely on' 2025-11-25 10:02:01.549424 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.549430 | controller | and checks that' 2025-11-25 10:02:01.549435 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.549441 | controller | pattern' 2025-11-25 10:02:01.549447 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.549453 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.549459 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.549464 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.549470 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.549476 | controller | - ' exit 0' 2025-11-25 10:02:01.549481 | controller | - ' else' 2025-11-25 10:02:01.549487 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.549493 | controller | - ' exit 1' 2025-11-25 10:02:01.549499 | controller | - ' fi' 2025-11-25 10:02:01.549504 | controller | - ' ' 2025-11-25 10:02:01.549510 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.549516 | controller | them with a script' 2025-11-25 10:02:01.549522 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.549528 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.549533 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.549539 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.549545 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.549604 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.549615 | controller | - ' # it is an image' 2025-11-25 10:02:01.549621 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.549627 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.549632 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.549638 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.549644 | controller | - ' case $NAME in' 2025-11-25 10:02:01.549650 | controller | - ' API)' 2025-11-25 10:02:01.549660 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.549666 | controller | - ' ;;' 2025-11-25 10:02:01.549672 | controller | - ' esac' 2025-11-25 10:02:01.549678 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.549683 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.549689 | controller | - ' exit 1' 2025-11-25 10:02:01.549695 | controller | - ' fi' 2025-11-25 10:02:01.549701 | controller | - ' fi' 2025-11-25 10:02:01.549707 | controller | - ' done' 2025-11-25 10:02:01.549712 | controller | - ' ]' 2025-11-25 10:02:01.549718 | controller | - ' logger.go:42: 09:50:04 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.549724 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.549730 | controller | rely on' 2025-11-25 10:02:01.549735 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.549741 | controller | and checks that' 2025-11-25 10:02:01.549747 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.549753 | controller | pattern' 2025-11-25 10:02:01.549758 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.549770 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.549776 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.549784 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.549790 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.549796 | controller | - ' exit 0' 2025-11-25 10:02:01.549802 | controller | - ' else' 2025-11-25 10:02:01.549808 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.549813 | controller | - ' exit 1' 2025-11-25 10:02:01.549819 | controller | - ' fi' 2025-11-25 10:02:01.549825 | controller | - ' ' 2025-11-25 10:02:01.549831 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.549836 | controller | them with a script' 2025-11-25 10:02:01.549844 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.549850 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.549856 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.549862 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.549868 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.549879 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.549885 | controller | - ' # it is an image' 2025-11-25 10:02:01.549891 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.549897 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.549902 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.549908 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.549914 | controller | - ' case $NAME in' 2025-11-25 10:02:01.549920 | controller | - ' API)' 2025-11-25 10:02:01.549925 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.549931 | controller | - ' ;;' 2025-11-25 10:02:01.549937 | controller | - ' esac' 2025-11-25 10:02:01.549943 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.549948 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.549954 | controller | - ' exit 1' 2025-11-25 10:02:01.549960 | controller | - ' fi' 2025-11-25 10:02:01.549966 | controller | - ' fi' 2025-11-25 10:02:01.549971 | controller | - ' done' 2025-11-25 10:02:01.549977 | controller | - ' ]' 2025-11-25 10:02:01.549983 | controller | - ' logger.go:42: 09:50:05 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.549989 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.549994 | controller | rely on' 2025-11-25 10:02:01.550000 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.550006 | controller | and checks that' 2025-11-25 10:02:01.550012 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.550017 | controller | pattern' 2025-11-25 10:02:01.550023 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.550029 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.550035 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.550040 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.550059 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.550068 | controller | - ' exit 0' 2025-11-25 10:02:01.550076 | controller | - ' else' 2025-11-25 10:02:01.550082 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.550088 | controller | - ' exit 1' 2025-11-25 10:02:01.550094 | controller | - ' fi' 2025-11-25 10:02:01.550100 | controller | - ' ' 2025-11-25 10:02:01.550105 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.550111 | controller | them with a script' 2025-11-25 10:02:01.550117 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.550123 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.550129 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.550134 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.550140 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.550152 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.550158 | controller | - ' # it is an image' 2025-11-25 10:02:01.550163 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.550169 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.550175 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.550183 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.550189 | controller | - ' case $NAME in' 2025-11-25 10:02:01.550195 | controller | - ' API)' 2025-11-25 10:02:01.550201 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.550207 | controller | - ' ;;' 2025-11-25 10:02:01.550212 | controller | - ' esac' 2025-11-25 10:02:01.550218 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.550224 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.550230 | controller | - ' exit 1' 2025-11-25 10:02:01.550236 | controller | - ' fi' 2025-11-25 10:02:01.550241 | controller | - ' fi' 2025-11-25 10:02:01.550247 | controller | - ' done' 2025-11-25 10:02:01.550253 | controller | - ' ]' 2025-11-25 10:02:01.550259 | controller | - ' logger.go:42: 09:50:06 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.550264 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.550270 | controller | rely on' 2025-11-25 10:02:01.550276 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.550282 | controller | and checks that' 2025-11-25 10:02:01.550288 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.550293 | controller | pattern' 2025-11-25 10:02:01.550299 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.550305 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.550311 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.550316 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.550322 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.550331 | controller | - ' exit 0' 2025-11-25 10:02:01.550337 | controller | - ' else' 2025-11-25 10:02:01.550342 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.550348 | controller | - ' exit 1' 2025-11-25 10:02:01.550354 | controller | - ' fi' 2025-11-25 10:02:01.550360 | controller | - ' ' 2025-11-25 10:02:01.550371 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.550377 | controller | them with a script' 2025-11-25 10:02:01.550383 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.550389 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.550395 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.550400 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.550406 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.550418 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.550424 | controller | - ' # it is an image' 2025-11-25 10:02:01.550430 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.550436 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.550441 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.550447 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.550453 | controller | - ' case $NAME in' 2025-11-25 10:02:01.550459 | controller | - ' API)' 2025-11-25 10:02:01.550464 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.550470 | controller | - ' ;;' 2025-11-25 10:02:01.550476 | controller | - ' esac' 2025-11-25 10:02:01.550482 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.550487 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.550493 | controller | - ' exit 1' 2025-11-25 10:02:01.550499 | controller | - ' fi' 2025-11-25 10:02:01.550505 | controller | - ' fi' 2025-11-25 10:02:01.550510 | controller | - ' done' 2025-11-25 10:02:01.550516 | controller | - ' ]' 2025-11-25 10:02:01.550522 | controller | - ' logger.go:42: 09:50:07 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.550537 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.550543 | controller | rely on' 2025-11-25 10:02:01.550549 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.550554 | controller | and checks that' 2025-11-25 10:02:01.550560 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.550566 | controller | pattern' 2025-11-25 10:02:01.550572 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.550578 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.550584 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.550602 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.550611 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.550617 | controller | - ' exit 0' 2025-11-25 10:02:01.550623 | controller | - ' else' 2025-11-25 10:02:01.550629 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.550634 | controller | - ' exit 1' 2025-11-25 10:02:01.550640 | controller | - ' fi' 2025-11-25 10:02:01.550646 | controller | - ' ' 2025-11-25 10:02:01.550652 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.550657 | controller | them with a script' 2025-11-25 10:02:01.550663 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.550669 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.550678 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.550684 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.550689 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.550701 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.550707 | controller | - ' # it is an image' 2025-11-25 10:02:01.550712 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.550718 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.550724 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.550730 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.550736 | controller | - ' case $NAME in' 2025-11-25 10:02:01.550741 | controller | - ' API)' 2025-11-25 10:02:01.550747 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.550753 | controller | - ' ;;' 2025-11-25 10:02:01.550759 | controller | - ' esac' 2025-11-25 10:02:01.550764 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.550770 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.550776 | controller | - ' exit 1' 2025-11-25 10:02:01.550785 | controller | - ' fi' 2025-11-25 10:02:01.550790 | controller | - ' fi' 2025-11-25 10:02:01.550796 | controller | - ' done' 2025-11-25 10:02:01.550802 | controller | - ' ]' 2025-11-25 10:02:01.550808 | controller | - ' logger.go:42: 09:50:09 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.550814 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.550819 | controller | rely on' 2025-11-25 10:02:01.550825 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.550831 | controller | and checks that' 2025-11-25 10:02:01.550837 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.550842 | controller | pattern' 2025-11-25 10:02:01.550848 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.550854 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.550860 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.550865 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.550871 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.550877 | controller | - ' exit 0' 2025-11-25 10:02:01.550883 | controller | - ' else' 2025-11-25 10:02:01.550888 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.550894 | controller | - ' exit 1' 2025-11-25 10:02:01.550900 | controller | - ' fi' 2025-11-25 10:02:01.550906 | controller | - ' ' 2025-11-25 10:02:01.550914 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.550920 | controller | them with a script' 2025-11-25 10:02:01.550925 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.550931 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.550937 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.550943 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.550948 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.550960 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.550968 | controller | - ' # it is an image' 2025-11-25 10:02:01.550974 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.550988 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.550994 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.551000 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.551006 | controller | - ' case $NAME in' 2025-11-25 10:02:01.551011 | controller | - ' API)' 2025-11-25 10:02:01.551017 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.551023 | controller | - ' ;;' 2025-11-25 10:02:01.551029 | controller | - ' esac' 2025-11-25 10:02:01.551034 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.551040 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.551046 | controller | - ' exit 1' 2025-11-25 10:02:01.551051 | controller | - ' fi' 2025-11-25 10:02:01.551057 | controller | - ' fi' 2025-11-25 10:02:01.551063 | controller | - ' done' 2025-11-25 10:02:01.551069 | controller | - ' ]' 2025-11-25 10:02:01.551074 | controller | - ' logger.go:42: 09:50:10 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.551080 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.551086 | controller | rely on' 2025-11-25 10:02:01.551243 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.551250 | controller | and checks that' 2025-11-25 10:02:01.551257 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.551265 | controller | pattern' 2025-11-25 10:02:01.551272 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.551279 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.551286 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.551294 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.551301 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.551309 | controller | - ' exit 0' 2025-11-25 10:02:01.551315 | controller | - ' else' 2025-11-25 10:02:01.551322 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.551328 | controller | - ' exit 1' 2025-11-25 10:02:01.551334 | controller | - ' fi' 2025-11-25 10:02:01.551339 | controller | - ' ' 2025-11-25 10:02:01.551345 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.551351 | controller | them with a script' 2025-11-25 10:02:01.551357 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.551362 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.551368 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.551374 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.551380 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.551391 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.551397 | controller | - ' # it is an image' 2025-11-25 10:02:01.551403 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.551412 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.551418 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.551427 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.551432 | controller | - ' case $NAME in' 2025-11-25 10:02:01.551438 | controller | - ' API)' 2025-11-25 10:02:01.551444 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.551450 | controller | - ' ;;' 2025-11-25 10:02:01.551455 | controller | - ' esac' 2025-11-25 10:02:01.551464 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.551470 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.551475 | controller | - ' exit 1' 2025-11-25 10:02:01.551481 | controller | - ' fi' 2025-11-25 10:02:01.551487 | controller | - ' fi' 2025-11-25 10:02:01.551493 | controller | - ' done' 2025-11-25 10:02:01.551499 | controller | - ' ]' 2025-11-25 10:02:01.551504 | controller | - ' logger.go:42: 09:50:11 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.551510 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.551516 | controller | rely on' 2025-11-25 10:02:01.551522 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.551527 | controller | and checks that' 2025-11-25 10:02:01.551533 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.551539 | controller | pattern' 2025-11-25 10:02:01.551545 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.551551 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.551556 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.551562 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.551568 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.551574 | controller | - ' exit 0' 2025-11-25 10:02:01.551579 | controller | - ' else' 2025-11-25 10:02:01.551585 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.551621 | controller | - ' exit 1' 2025-11-25 10:02:01.551635 | controller | - ' fi' 2025-11-25 10:02:01.551643 | controller | - ' ' 2025-11-25 10:02:01.551664 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.551672 | controller | them with a script' 2025-11-25 10:02:01.551679 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.551686 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.551693 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.551700 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.551707 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.551723 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.551730 | controller | - ' # it is an image' 2025-11-25 10:02:01.551738 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.551746 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.551753 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.551761 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.551768 | controller | - ' case $NAME in' 2025-11-25 10:02:01.551776 | controller | - ' API)' 2025-11-25 10:02:01.551783 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.551791 | controller | - ' ;;' 2025-11-25 10:02:01.551803 | controller | - ' esac' 2025-11-25 10:02:01.551810 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.551817 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.551824 | controller | - ' exit 1' 2025-11-25 10:02:01.551831 | controller | - ' fi' 2025-11-25 10:02:01.551839 | controller | - ' fi' 2025-11-25 10:02:01.551846 | controller | - ' done' 2025-11-25 10:02:01.551854 | controller | - ' ]' 2025-11-25 10:02:01.551862 | controller | - ' logger.go:42: 09:50:12 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.551869 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.551877 | controller | rely on' 2025-11-25 10:02:01.551884 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.551892 | controller | and checks that' 2025-11-25 10:02:01.551899 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.551906 | controller | pattern' 2025-11-25 10:02:01.551914 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.551921 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.551929 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.551936 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.551944 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.551957 | controller | - ' exit 0' 2025-11-25 10:02:01.551964 | controller | - ' else' 2025-11-25 10:02:01.551972 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.551979 | controller | - ' exit 1' 2025-11-25 10:02:01.551987 | controller | - ' fi' 2025-11-25 10:02:01.551994 | controller | - ' ' 2025-11-25 10:02:01.552001 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.552009 | controller | them with a script' 2025-11-25 10:02:01.552016 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.552024 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.552032 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.552039 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.552046 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.552061 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.552069 | controller | - ' # it is an image' 2025-11-25 10:02:01.552076 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.552084 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.552091 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.552098 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.552106 | controller | - ' case $NAME in' 2025-11-25 10:02:01.552114 | controller | - ' API)' 2025-11-25 10:02:01.552121 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.552129 | controller | - ' ;;' 2025-11-25 10:02:01.552136 | controller | - ' esac' 2025-11-25 10:02:01.552143 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.552151 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.552158 | controller | - ' exit 1' 2025-11-25 10:02:01.552166 | controller | - ' fi' 2025-11-25 10:02:01.552173 | controller | - ' fi' 2025-11-25 10:02:01.552185 | controller | - ' done' 2025-11-25 10:02:01.552196 | controller | - ' ]' 2025-11-25 10:02:01.552204 | controller | - ' logger.go:42: 09:50:13 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.552212 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.552219 | controller | rely on' 2025-11-25 10:02:01.552227 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.552234 | controller | and checks that' 2025-11-25 10:02:01.552256 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.552264 | controller | pattern' 2025-11-25 10:02:01.552272 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.552279 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.552287 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.552295 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.552302 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.552310 | controller | - ' exit 0' 2025-11-25 10:02:01.552317 | controller | - ' else' 2025-11-25 10:02:01.552324 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.552332 | controller | - ' exit 1' 2025-11-25 10:02:01.552339 | controller | - ' fi' 2025-11-25 10:02:01.552347 | controller | - ' ' 2025-11-25 10:02:01.552354 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.552362 | controller | them with a script' 2025-11-25 10:02:01.552370 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.552377 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.552385 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.552392 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.552399 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.552414 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.552422 | controller | - ' # it is an image' 2025-11-25 10:02:01.552429 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.552436 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.552444 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.552452 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.552459 | controller | - ' case $NAME in' 2025-11-25 10:02:01.552466 | controller | - ' API)' 2025-11-25 10:02:01.552474 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.552481 | controller | - ' ;;' 2025-11-25 10:02:01.552489 | controller | - ' esac' 2025-11-25 10:02:01.552496 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.552503 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.552511 | controller | - ' exit 1' 2025-11-25 10:02:01.552518 | controller | - ' fi' 2025-11-25 10:02:01.552525 | controller | - ' fi' 2025-11-25 10:02:01.552533 | controller | - ' done' 2025-11-25 10:02:01.552540 | controller | - ' ]' 2025-11-25 10:02:01.552547 | controller | - ' logger.go:42: 09:50:15 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.552553 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.552559 | controller | rely on' 2025-11-25 10:02:01.552568 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.552574 | controller | and checks that' 2025-11-25 10:02:01.552580 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.552586 | controller | pattern' 2025-11-25 10:02:01.552610 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.552617 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.552623 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.552628 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.552634 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.552640 | controller | - ' exit 0' 2025-11-25 10:02:01.552646 | controller | - ' else' 2025-11-25 10:02:01.552652 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.552657 | controller | - ' exit 1' 2025-11-25 10:02:01.552663 | controller | - ' fi' 2025-11-25 10:02:01.552669 | controller | - ' ' 2025-11-25 10:02:01.552675 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.552680 | controller | them with a script' 2025-11-25 10:02:01.552686 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.552692 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.552698 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.552704 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.552709 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.552721 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.552727 | controller | - ' # it is an image' 2025-11-25 10:02:01.552732 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.552738 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.552744 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.552750 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.552756 | controller | - ' case $NAME in' 2025-11-25 10:02:01.552761 | controller | - ' API)' 2025-11-25 10:02:01.552777 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.552783 | controller | - ' ;;' 2025-11-25 10:02:01.552789 | controller | - ' esac' 2025-11-25 10:02:01.552795 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.552801 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.552807 | controller | - ' exit 1' 2025-11-25 10:02:01.552813 | controller | - ' fi' 2025-11-25 10:02:01.552819 | controller | - ' fi' 2025-11-25 10:02:01.552825 | controller | - ' done' 2025-11-25 10:02:01.552831 | controller | - ' ]' 2025-11-25 10:02:01.552836 | controller | - ' logger.go:42: 09:50:16 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.552842 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.552848 | controller | rely on' 2025-11-25 10:02:01.552854 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.552859 | controller | and checks that' 2025-11-25 10:02:01.552865 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.552871 | controller | pattern' 2025-11-25 10:02:01.552877 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.552885 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.552891 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.552897 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.552903 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.552909 | controller | - ' exit 0' 2025-11-25 10:02:01.552914 | controller | - ' else' 2025-11-25 10:02:01.552920 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.552926 | controller | - ' exit 1' 2025-11-25 10:02:01.552932 | controller | - ' fi' 2025-11-25 10:02:01.552937 | controller | - ' ' 2025-11-25 10:02:01.552943 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.552949 | controller | them with a script' 2025-11-25 10:02:01.552955 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.552960 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.552966 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.552972 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.552978 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.552989 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.552995 | controller | - ' # it is an image' 2025-11-25 10:02:01.553001 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.553006 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.553012 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.553018 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.553024 | controller | - ' case $NAME in' 2025-11-25 10:02:01.553030 | controller | - ' API)' 2025-11-25 10:02:01.553035 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.553041 | controller | - ' ;;' 2025-11-25 10:02:01.553047 | controller | - ' esac' 2025-11-25 10:02:01.553053 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.553058 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.553064 | controller | - ' exit 1' 2025-11-25 10:02:01.553070 | controller | - ' fi' 2025-11-25 10:02:01.553076 | controller | - ' fi' 2025-11-25 10:02:01.553082 | controller | - ' done' 2025-11-25 10:02:01.553087 | controller | - ' ]' 2025-11-25 10:02:01.553093 | controller | - ' logger.go:42: 09:50:17 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.553099 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.553105 | controller | rely on' 2025-11-25 10:02:01.553110 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.553116 | controller | and checks that' 2025-11-25 10:02:01.553122 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.553128 | controller | pattern' 2025-11-25 10:02:01.553133 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.553139 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.553151 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.553157 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.553165 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.553171 | controller | - ' exit 0' 2025-11-25 10:02:01.553177 | controller | - ' else' 2025-11-25 10:02:01.553183 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.553189 | controller | - ' exit 1' 2025-11-25 10:02:01.553194 | controller | - ' fi' 2025-11-25 10:02:01.553200 | controller | - ' ' 2025-11-25 10:02:01.553206 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.553212 | controller | them with a script' 2025-11-25 10:02:01.553218 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.553223 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.553238 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.553244 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.553250 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.553261 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.553267 | controller | - ' # it is an image' 2025-11-25 10:02:01.553273 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.553279 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.553285 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.553290 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.553296 | controller | - ' case $NAME in' 2025-11-25 10:02:01.553302 | controller | - ' API)' 2025-11-25 10:02:01.553308 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.553313 | controller | - ' ;;' 2025-11-25 10:02:01.553319 | controller | - ' esac' 2025-11-25 10:02:01.553325 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.553331 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.553337 | controller | - ' exit 1' 2025-11-25 10:02:01.553346 | controller | - ' fi' 2025-11-25 10:02:01.553351 | controller | - ' fi' 2025-11-25 10:02:01.553357 | controller | - ' done' 2025-11-25 10:02:01.553363 | controller | - ' ]' 2025-11-25 10:02:01.553369 | controller | - ' logger.go:42: 09:50:18 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.553374 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.553380 | controller | rely on' 2025-11-25 10:02:01.553386 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.553392 | controller | and checks that' 2025-11-25 10:02:01.553400 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.553406 | controller | pattern' 2025-11-25 10:02:01.553412 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.553418 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.553423 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.553429 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.553435 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.553441 | controller | - ' exit 0' 2025-11-25 10:02:01.553449 | controller | - ' else' 2025-11-25 10:02:01.553455 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.553461 | controller | - ' exit 1' 2025-11-25 10:02:01.553467 | controller | - ' fi' 2025-11-25 10:02:01.553475 | controller | - ' ' 2025-11-25 10:02:01.553481 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.553487 | controller | them with a script' 2025-11-25 10:02:01.553493 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.553499 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.553507 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.553513 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.553519 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.553531 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.553536 | controller | - ' # it is an image' 2025-11-25 10:02:01.553542 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.553548 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.553570 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.553578 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.553585 | controller | - ' case $NAME in' 2025-11-25 10:02:01.553602 | controller | - ' API)' 2025-11-25 10:02:01.553612 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.553617 | controller | - ' ;;' 2025-11-25 10:02:01.553623 | controller | - ' esac' 2025-11-25 10:02:01.553629 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.553635 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.553640 | controller | - ' exit 1' 2025-11-25 10:02:01.553646 | controller | - ' fi' 2025-11-25 10:02:01.553652 | controller | - ' fi' 2025-11-25 10:02:01.553658 | controller | - ' done' 2025-11-25 10:02:01.553664 | controller | - ' ]' 2025-11-25 10:02:01.553669 | controller | - ' logger.go:42: 09:50:19 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.553675 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.553681 | controller | rely on' 2025-11-25 10:02:01.553687 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.553692 | controller | and checks that' 2025-11-25 10:02:01.553698 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.553704 | controller | pattern' 2025-11-25 10:02:01.553710 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.553726 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.553732 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.553738 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.553744 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.553750 | controller | - ' exit 0' 2025-11-25 10:02:01.553756 | controller | - ' else' 2025-11-25 10:02:01.553762 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.553767 | controller | - ' exit 1' 2025-11-25 10:02:01.553773 | controller | - ' fi' 2025-11-25 10:02:01.553779 | controller | - ' ' 2025-11-25 10:02:01.553785 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.553790 | controller | them with a script' 2025-11-25 10:02:01.553796 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.553802 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.553811 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.553817 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.553823 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.553834 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.553840 | controller | - ' # it is an image' 2025-11-25 10:02:01.553846 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.553852 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.553857 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.553863 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.553869 | controller | - ' case $NAME in' 2025-11-25 10:02:01.553875 | controller | - ' API)' 2025-11-25 10:02:01.553880 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.553886 | controller | - ' ;;' 2025-11-25 10:02:01.553892 | controller | - ' esac' 2025-11-25 10:02:01.553898 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.553904 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.553909 | controller | - ' exit 1' 2025-11-25 10:02:01.553915 | controller | - ' fi' 2025-11-25 10:02:01.553921 | controller | - ' fi' 2025-11-25 10:02:01.553927 | controller | - ' done' 2025-11-25 10:02:01.553932 | controller | - ' ]' 2025-11-25 10:02:01.553938 | controller | - ' logger.go:42: 09:50:20 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.553944 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.553950 | controller | rely on' 2025-11-25 10:02:01.553956 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.553962 | controller | and checks that' 2025-11-25 10:02:01.553967 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.553973 | controller | pattern' 2025-11-25 10:02:01.553979 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.553985 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.553991 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.553996 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.554002 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.554008 | controller | - ' exit 0' 2025-11-25 10:02:01.554014 | controller | - ' else' 2025-11-25 10:02:01.554020 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.554025 | controller | - ' exit 1' 2025-11-25 10:02:01.554031 | controller | - ' fi' 2025-11-25 10:02:01.554037 | controller | - ' ' 2025-11-25 10:02:01.554043 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.554048 | controller | them with a script' 2025-11-25 10:02:01.554054 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.554060 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.554066 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.554071 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.554080 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.554095 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.554101 | controller | - ' # it is an image' 2025-11-25 10:02:01.554107 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.554113 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.554118 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.554124 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.554130 | controller | - ' case $NAME in' 2025-11-25 10:02:01.554136 | controller | - ' API)' 2025-11-25 10:02:01.554141 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.554147 | controller | - ' ;;' 2025-11-25 10:02:01.554153 | controller | - ' esac' 2025-11-25 10:02:01.554306 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.554313 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.554319 | controller | - ' exit 1' 2025-11-25 10:02:01.554324 | controller | - ' fi' 2025-11-25 10:02:01.554330 | controller | - ' fi' 2025-11-25 10:02:01.554336 | controller | - ' done' 2025-11-25 10:02:01.554342 | controller | - ' ]' 2025-11-25 10:02:01.554347 | controller | - ' logger.go:42: 09:50:22 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.554353 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.554359 | controller | rely on' 2025-11-25 10:02:01.554365 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.554371 | controller | and checks that' 2025-11-25 10:02:01.554376 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.554382 | controller | pattern' 2025-11-25 10:02:01.554388 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.554394 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.554399 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.554405 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.554411 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.554417 | controller | - ' exit 0' 2025-11-25 10:02:01.554422 | controller | - ' else' 2025-11-25 10:02:01.554428 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.554434 | controller | - ' exit 1' 2025-11-25 10:02:01.554440 | controller | - ' fi' 2025-11-25 10:02:01.554445 | controller | - ' ' 2025-11-25 10:02:01.554451 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.554457 | controller | them with a script' 2025-11-25 10:02:01.554463 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.554469 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.554474 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.554480 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.554486 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.554498 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.554503 | controller | - ' # it is an image' 2025-11-25 10:02:01.554509 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.554515 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.554521 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.554529 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.554535 | controller | - ' case $NAME in' 2025-11-25 10:02:01.554541 | controller | - ' API)' 2025-11-25 10:02:01.554547 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.554553 | controller | - ' ;;' 2025-11-25 10:02:01.554558 | controller | - ' esac' 2025-11-25 10:02:01.554564 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.554570 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.554576 | controller | - ' exit 1' 2025-11-25 10:02:01.554582 | controller | - ' fi' 2025-11-25 10:02:01.554599 | controller | - ' fi' 2025-11-25 10:02:01.554609 | controller | - ' done' 2025-11-25 10:02:01.554617 | controller | - ' ]' 2025-11-25 10:02:01.554624 | controller | - ' logger.go:42: 09:50:23 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.554652 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.554661 | controller | rely on' 2025-11-25 10:02:01.554668 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.554674 | controller | and checks that' 2025-11-25 10:02:01.554679 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.554685 | controller | pattern' 2025-11-25 10:02:01.554691 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.554697 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.554703 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.554708 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.554714 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.554720 | controller | - ' exit 0' 2025-11-25 10:02:01.554726 | controller | - ' else' 2025-11-25 10:02:01.554732 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.554737 | controller | - ' exit 1' 2025-11-25 10:02:01.554743 | controller | - ' fi' 2025-11-25 10:02:01.554752 | controller | - ' ' 2025-11-25 10:02:01.554758 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.554764 | controller | them with a script' 2025-11-25 10:02:01.554769 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.554775 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.554781 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.554787 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.554803 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.554815 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.554821 | controller | - ' # it is an image' 2025-11-25 10:02:01.554827 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.554833 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.554839 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.554844 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.554850 | controller | - ' case $NAME in' 2025-11-25 10:02:01.554856 | controller | - ' API)' 2025-11-25 10:02:01.554862 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.554871 | controller | - ' ;;' 2025-11-25 10:02:01.554877 | controller | - ' esac' 2025-11-25 10:02:01.554883 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.554891 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.554897 | controller | - ' exit 1' 2025-11-25 10:02:01.554903 | controller | - ' fi' 2025-11-25 10:02:01.554909 | controller | - ' fi' 2025-11-25 10:02:01.554914 | controller | - ' done' 2025-11-25 10:02:01.554920 | controller | - ' ]' 2025-11-25 10:02:01.554926 | controller | - ' logger.go:42: 09:50:24 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.554932 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.554938 | controller | rely on' 2025-11-25 10:02:01.554943 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.554949 | controller | and checks that' 2025-11-25 10:02:01.554955 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.554961 | controller | pattern' 2025-11-25 10:02:01.554967 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.554972 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.554978 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.554984 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.554990 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.554996 | controller | - ' exit 0' 2025-11-25 10:02:01.555001 | controller | - ' else' 2025-11-25 10:02:01.555007 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.555013 | controller | - ' exit 1' 2025-11-25 10:02:01.555019 | controller | - ' fi' 2025-11-25 10:02:01.555025 | controller | - ' ' 2025-11-25 10:02:01.555030 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.555036 | controller | them with a script' 2025-11-25 10:02:01.555042 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.555053 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.555059 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.555065 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.555071 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.555082 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.555088 | controller | - ' # it is an image' 2025-11-25 10:02:01.555094 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.555099 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.555105 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.555111 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.555117 | controller | - ' case $NAME in' 2025-11-25 10:02:01.555123 | controller | - ' API)' 2025-11-25 10:02:01.555128 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.555134 | controller | - ' ;;' 2025-11-25 10:02:01.555140 | controller | - ' esac' 2025-11-25 10:02:01.555146 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.555152 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.555157 | controller | - ' exit 1' 2025-11-25 10:02:01.555163 | controller | - ' fi' 2025-11-25 10:02:01.555172 | controller | - ' fi' 2025-11-25 10:02:01.555177 | controller | - ' done' 2025-11-25 10:02:01.555183 | controller | - ' ]' 2025-11-25 10:02:01.555189 | controller | - ' logger.go:42: 09:50:25 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.555195 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.555201 | controller | rely on' 2025-11-25 10:02:01.555206 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.555212 | controller | and checks that' 2025-11-25 10:02:01.555218 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.555224 | controller | pattern' 2025-11-25 10:02:01.555230 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.555235 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.555241 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.555256 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.555262 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.555269 | controller | - ' exit 0' 2025-11-25 10:02:01.555275 | controller | - ' else' 2025-11-25 10:02:01.555281 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.555286 | controller | - ' exit 1' 2025-11-25 10:02:01.555292 | controller | - ' fi' 2025-11-25 10:02:01.555298 | controller | - ' ' 2025-11-25 10:02:01.555304 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.555310 | controller | them with a script' 2025-11-25 10:02:01.555315 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.555321 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.555327 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.555333 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.555339 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.555350 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.555358 | controller | - ' # it is an image' 2025-11-25 10:02:01.555365 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.555373 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.555380 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.555388 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.555395 | controller | - ' case $NAME in' 2025-11-25 10:02:01.555403 | controller | - ' API)' 2025-11-25 10:02:01.555410 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.555418 | controller | - ' ;;' 2025-11-25 10:02:01.555425 | controller | - ' esac' 2025-11-25 10:02:01.555432 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.555439 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.555446 | controller | - ' exit 1' 2025-11-25 10:02:01.555452 | controller | - ' fi' 2025-11-25 10:02:01.555457 | controller | - ' fi' 2025-11-25 10:02:01.555463 | controller | - ' done' 2025-11-25 10:02:01.555469 | controller | - ' ]' 2025-11-25 10:02:01.555475 | controller | - ' logger.go:42: 09:50:26 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.555481 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.555486 | controller | rely on' 2025-11-25 10:02:01.555496 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.555502 | controller | and checks that' 2025-11-25 10:02:01.555508 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.555513 | controller | pattern' 2025-11-25 10:02:01.555519 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.555525 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.555531 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.555537 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.555543 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.555548 | controller | - ' exit 0' 2025-11-25 10:02:01.555554 | controller | - ' else' 2025-11-25 10:02:01.555560 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.555566 | controller | - ' exit 1' 2025-11-25 10:02:01.555571 | controller | - ' fi' 2025-11-25 10:02:01.555577 | controller | - ' ' 2025-11-25 10:02:01.555583 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.555604 | controller | them with a script' 2025-11-25 10:02:01.555614 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.555620 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.555626 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.555633 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.555640 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.555656 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.555664 | controller | - ' # it is an image' 2025-11-25 10:02:01.555671 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.555679 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.555686 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.555694 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.555703 | controller | - ' case $NAME in' 2025-11-25 10:02:01.555709 | controller | - ' API)' 2025-11-25 10:02:01.555715 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.555721 | controller | - ' ;;' 2025-11-25 10:02:01.555727 | controller | - ' esac' 2025-11-25 10:02:01.555732 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.555738 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.555744 | controller | - ' exit 1' 2025-11-25 10:02:01.555750 | controller | - ' fi' 2025-11-25 10:02:01.555756 | controller | - ' fi' 2025-11-25 10:02:01.555761 | controller | - ' done' 2025-11-25 10:02:01.555767 | controller | - ' ]' 2025-11-25 10:02:01.555784 | controller | - ' logger.go:42: 09:50:28 | keystone_resources/0-deploy_keystone | running command: 2025-11-25 10:02:01.555791 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.555796 | controller | rely on' 2025-11-25 10:02:01.555802 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.555808 | controller | and checks that' 2025-11-25 10:02:01.555814 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.555820 | controller | pattern' 2025-11-25 10:02:01.555825 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.555835 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.555840 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.555846 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.555852 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.555858 | controller | - ' exit 0' 2025-11-25 10:02:01.555864 | controller | - ' else' 2025-11-25 10:02:01.555869 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.555875 | controller | - ' exit 1' 2025-11-25 10:02:01.555881 | controller | - ' fi' 2025-11-25 10:02:01.555887 | controller | - ' ' 2025-11-25 10:02:01.555892 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.555898 | controller | them with a script' 2025-11-25 10:02:01.555904 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.555910 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.555916 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.555921 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.555927 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.555939 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.555945 | controller | - ' # it is an image' 2025-11-25 10:02:01.555950 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.555956 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.555962 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.555968 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.555973 | controller | - ' case $NAME in' 2025-11-25 10:02:01.555979 | controller | - ' API)' 2025-11-25 10:02:01.555988 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.555994 | controller | - ' ;;' 2025-11-25 10:02:01.556000 | controller | - ' esac' 2025-11-25 10:02:01.556005 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.556011 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.556017 | controller | - ' exit 1' 2025-11-25 10:02:01.556023 | controller | - ' fi' 2025-11-25 10:02:01.556029 | controller | - ' fi' 2025-11-25 10:02:01.556034 | controller | - ' done' 2025-11-25 10:02:01.556040 | controller | - ' ]' 2025-11-25 10:02:01.556047 | controller | - ' logger.go:42: 09:50:28 | keystone_resources/0-deploy_keystone | test step completed 2025-11-25 10:02:01.556053 | controller | 0-deploy_keystone' 2025-11-25 10:02:01.556058 | controller | - ' logger.go:42: 09:50:28 | keystone_resources/1-deploy-keystoneservice | starting 2025-11-25 10:02:01.556064 | controller | test step 1-deploy-keystoneservice' 2025-11-25 10:02:01.556070 | controller | - ' logger.go:42: 09:50:28 | keystone_resources/1-deploy-keystoneservice | KeystoneService:keystone-kuttl-tests/placement 2025-11-25 10:02:01.556076 | controller | created' 2025-11-25 10:02:01.556082 | controller | - ' logger.go:42: 09:50:30 | keystone_resources/1-deploy-keystoneservice | test 2025-11-25 10:02:01.556087 | controller | step completed 1-deploy-keystoneservice' 2025-11-25 10:02:01.556093 | controller | - ' logger.go:42: 09:50:30 | keystone_resources/2-deploy-keystoneendpoint | starting 2025-11-25 10:02:01.556099 | controller | test step 2-deploy-keystoneendpoint' 2025-11-25 10:02:01.556105 | controller | - ' logger.go:42: 09:50:30 | keystone_resources/2-deploy-keystoneendpoint | KeystoneEndpoint:keystone-kuttl-tests/placement 2025-11-25 10:02:01.556114 | controller | created' 2025-11-25 10:02:01.556120 | controller | - ' logger.go:42: 09:50:41 | keystone_resources/2-deploy-keystoneendpoint | test 2025-11-25 10:02:01.556126 | controller | step completed 2-deploy-keystoneendpoint' 2025-11-25 10:02:01.556132 | controller | - ' logger.go:42: 09:50:41 | keystone_resources/3-cleanup-keystoneendpoint | starting 2025-11-25 10:02:01.556137 | controller | test step 3-cleanup-keystoneendpoint' 2025-11-25 10:02:01.556143 | controller | - ' logger.go:42: 09:50:42 | keystone_resources/3-cleanup-keystoneendpoint | test 2025-11-25 10:02:01.556149 | controller | step completed 3-cleanup-keystoneendpoint' 2025-11-25 10:02:01.556155 | controller | - ' logger.go:42: 09:50:42 | keystone_resources/4-cleanup-keystoneservice | starting 2025-11-25 10:02:01.556160 | controller | test step 4-cleanup-keystoneservice' 2025-11-25 10:02:01.556166 | controller | - ' logger.go:42: 09:50:44 | keystone_resources/4-cleanup-keystoneservice | test 2025-11-25 10:02:01.556172 | controller | step completed 4-cleanup-keystoneservice' 2025-11-25 10:02:01.556178 | controller | - ' logger.go:42: 09:50:44 | keystone_resources/5-cleanup-keystone | starting test 2025-11-25 10:02:01.556184 | controller | step 5-cleanup-keystone' 2025-11-25 10:02:01.556190 | controller | - ' logger.go:42: 09:50:48 | keystone_resources/5-cleanup-keystone | test step 2025-11-25 10:02:01.556204 | controller | completed 5-cleanup-keystone' 2025-11-25 10:02:01.556214 | controller | - ' logger.go:42: 09:50:48 | keystone_resources | skipping kubernetes event logging' 2025-11-25 10:02:01.556219 | controller | - === CONT kuttl/harness/fernet_rotation 2025-11-25 10:02:01.556226 | controller | - ' logger.go:42: 09:50:48 | fernet_rotation | Skipping creation of user-supplied 2025-11-25 10:02:01.556231 | controller | namespace: keystone-kuttl-tests' 2025-11-25 10:02:01.556237 | controller | - ' logger.go:42: 09:50:48 | fernet_rotation/0-deploy_keystone | starting test 2025-11-25 10:02:01.556243 | controller | step 0-deploy_keystone' 2025-11-25 10:02:01.556249 | controller | - ' logger.go:42: 09:50:48 | fernet_rotation/0-deploy_keystone | KeystoneAPI:keystone-kuttl-tests/keystone 2025-11-25 10:02:01.556255 | controller | created' 2025-11-25 10:02:01.556261 | controller | - ' logger.go:42: 09:50:48 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.556266 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.556272 | controller | rely on' 2025-11-25 10:02:01.556278 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.556284 | controller | and checks that' 2025-11-25 10:02:01.556290 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.556296 | controller | pattern' 2025-11-25 10:02:01.556303 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.556311 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.556319 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.556326 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.556334 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.556341 | controller | - ' exit 0' 2025-11-25 10:02:01.556348 | controller | - ' else' 2025-11-25 10:02:01.556356 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.556363 | controller | - ' exit 1' 2025-11-25 10:02:01.556370 | controller | - ' fi' 2025-11-25 10:02:01.556378 | controller | - ' ' 2025-11-25 10:02:01.556386 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.556394 | controller | them with a script' 2025-11-25 10:02:01.556401 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.556409 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.556416 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.556427 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.556434 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.556449 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.556457 | controller | - ' # it is an image' 2025-11-25 10:02:01.556464 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.556471 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.556483 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.556491 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.556499 | controller | - ' case $NAME in' 2025-11-25 10:02:01.556510 | controller | - ' API)' 2025-11-25 10:02:01.556517 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.556525 | controller | - ' ;;' 2025-11-25 10:02:01.556532 | controller | - ' esac' 2025-11-25 10:02:01.556540 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.556549 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.556556 | controller | - ' exit 1' 2025-11-25 10:02:01.556564 | controller | - ' fi' 2025-11-25 10:02:01.556573 | controller | - ' fi' 2025-11-25 10:02:01.556580 | controller | - ' done' 2025-11-25 10:02:01.556606 | controller | - ' ]' 2025-11-25 10:02:01.556620 | controller | - ' logger.go:42: 09:50:48 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.556628 | controller | : do not match regex' 2025-11-25 10:02:01.556640 | controller | - ' logger.go:42: 09:50:49 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.556649 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.556657 | controller | rely on' 2025-11-25 10:02:01.556664 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.556671 | controller | and checks that' 2025-11-25 10:02:01.556677 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.556683 | controller | pattern' 2025-11-25 10:02:01.556689 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.556695 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.556701 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.556706 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.556716 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.556721 | controller | - ' exit 0' 2025-11-25 10:02:01.556727 | controller | - ' else' 2025-11-25 10:02:01.556733 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.556740 | controller | - ' exit 1' 2025-11-25 10:02:01.556746 | controller | - ' fi' 2025-11-25 10:02:01.556751 | controller | - ' ' 2025-11-25 10:02:01.556769 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.556776 | controller | them with a script' 2025-11-25 10:02:01.556782 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.556788 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.556794 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.556800 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.556806 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.556821 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.556827 | controller | - ' # it is an image' 2025-11-25 10:02:01.556833 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.556839 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.556845 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.556850 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.556856 | controller | - ' case $NAME in' 2025-11-25 10:02:01.556862 | controller | - ' API)' 2025-11-25 10:02:01.556868 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.556874 | controller | - ' ;;' 2025-11-25 10:02:01.556879 | controller | - ' esac' 2025-11-25 10:02:01.556885 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.556891 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.556897 | controller | - ' exit 1' 2025-11-25 10:02:01.556902 | controller | - ' fi' 2025-11-25 10:02:01.556908 | controller | - ' fi' 2025-11-25 10:02:01.556914 | controller | - ' done' 2025-11-25 10:02:01.556920 | controller | - ' ]' 2025-11-25 10:02:01.556926 | controller | - ' logger.go:42: 09:50:49 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.556931 | controller | : do not match regex' 2025-11-25 10:02:01.556937 | controller | - ' logger.go:42: 09:50:50 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.556943 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.556949 | controller | rely on' 2025-11-25 10:02:01.556954 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.556960 | controller | and checks that' 2025-11-25 10:02:01.556966 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.556972 | controller | pattern' 2025-11-25 10:02:01.556978 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.556983 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.556989 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.556995 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.557001 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.557007 | controller | - ' exit 0' 2025-11-25 10:02:01.557012 | controller | - ' else' 2025-11-25 10:02:01.557018 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.557024 | controller | - ' exit 1' 2025-11-25 10:02:01.557030 | controller | - ' fi' 2025-11-25 10:02:01.557035 | controller | - ' ' 2025-11-25 10:02:01.557041 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.557047 | controller | them with a script' 2025-11-25 10:02:01.557053 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.557059 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.557064 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.557070 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.557076 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.557088 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.557096 | controller | - ' # it is an image' 2025-11-25 10:02:01.557103 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.557110 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.557118 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.557126 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.557134 | controller | - ' case $NAME in' 2025-11-25 10:02:01.557142 | controller | - ' API)' 2025-11-25 10:02:01.557150 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.557158 | controller | - ' ;;' 2025-11-25 10:02:01.557165 | controller | - ' esac' 2025-11-25 10:02:01.557171 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.557177 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.557183 | controller | - ' exit 1' 2025-11-25 10:02:01.557189 | controller | - ' fi' 2025-11-25 10:02:01.557196 | controller | - ' fi' 2025-11-25 10:02:01.557202 | controller | - ' done' 2025-11-25 10:02:01.557208 | controller | - ' ]' 2025-11-25 10:02:01.557214 | controller | - ' logger.go:42: 09:50:51 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.557220 | controller | : do not match regex' 2025-11-25 10:02:01.557235 | controller | - ' logger.go:42: 09:50:52 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.557242 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.557248 | controller | rely on' 2025-11-25 10:02:01.557255 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.557261 | controller | and checks that' 2025-11-25 10:02:01.557268 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.557274 | controller | pattern' 2025-11-25 10:02:01.557280 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.557286 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.557292 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.557298 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.557305 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.557311 | controller | - ' exit 0' 2025-11-25 10:02:01.557317 | controller | - ' else' 2025-11-25 10:02:01.557323 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.557328 | controller | - ' exit 1' 2025-11-25 10:02:01.557334 | controller | - ' fi' 2025-11-25 10:02:01.557340 | controller | - ' ' 2025-11-25 10:02:01.557346 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.557352 | controller | them with a script' 2025-11-25 10:02:01.557359 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.557365 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.557371 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.557377 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.557382 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.557394 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.557400 | controller | - ' # it is an image' 2025-11-25 10:02:01.557406 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.557412 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.557424 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.557431 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.557437 | controller | - ' case $NAME in' 2025-11-25 10:02:01.557443 | controller | - ' API)' 2025-11-25 10:02:01.557452 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.557458 | controller | - ' ;;' 2025-11-25 10:02:01.557464 | controller | - ' esac' 2025-11-25 10:02:01.557470 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.557476 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.557482 | controller | - ' exit 1' 2025-11-25 10:02:01.557487 | controller | - ' fi' 2025-11-25 10:02:01.557493 | controller | - ' fi' 2025-11-25 10:02:01.557499 | controller | - ' done' 2025-11-25 10:02:01.557505 | controller | - ' ]' 2025-11-25 10:02:01.557511 | controller | - ' logger.go:42: 09:50:52 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.557516 | controller | : do not match regex' 2025-11-25 10:02:01.557522 | controller | - ' logger.go:42: 09:50:53 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.557528 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.557534 | controller | rely on' 2025-11-25 10:02:01.557540 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.557545 | controller | and checks that' 2025-11-25 10:02:01.557551 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.557587 | controller | pattern' 2025-11-25 10:02:01.557611 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.557617 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.557623 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.557629 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.557635 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.557640 | controller | - ' exit 0' 2025-11-25 10:02:01.557646 | controller | - ' else' 2025-11-25 10:02:01.557652 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.557658 | controller | - ' exit 1' 2025-11-25 10:02:01.557663 | controller | - ' fi' 2025-11-25 10:02:01.557669 | controller | - ' ' 2025-11-25 10:02:01.557678 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.557684 | controller | them with a script' 2025-11-25 10:02:01.557690 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.557696 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.557701 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.557707 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.557713 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.557733 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.557740 | controller | - ' # it is an image' 2025-11-25 10:02:01.557745 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.557751 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.557757 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.557763 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.557773 | controller | - ' case $NAME in' 2025-11-25 10:02:01.557779 | controller | - ' API)' 2025-11-25 10:02:01.557785 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.557790 | controller | - ' ;;' 2025-11-25 10:02:01.557796 | controller | - ' esac' 2025-11-25 10:02:01.557802 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.557808 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.557813 | controller | - ' exit 1' 2025-11-25 10:02:01.557819 | controller | - ' fi' 2025-11-25 10:02:01.557825 | controller | - ' fi' 2025-11-25 10:02:01.557831 | controller | - ' done' 2025-11-25 10:02:01.557838 | controller | - ' ]' 2025-11-25 10:02:01.557843 | controller | - ' logger.go:42: 09:50:53 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.557849 | controller | : do not match regex' 2025-11-25 10:02:01.557855 | controller | - ' logger.go:42: 09:50:54 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.557861 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.557867 | controller | rely on' 2025-11-25 10:02:01.557872 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.557878 | controller | and checks that' 2025-11-25 10:02:01.557884 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.557890 | controller | pattern' 2025-11-25 10:02:01.557898 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.557905 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.557913 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.557921 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.557928 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.557936 | controller | - ' exit 0' 2025-11-25 10:02:01.557942 | controller | - ' else' 2025-11-25 10:02:01.557948 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.557954 | controller | - ' exit 1' 2025-11-25 10:02:01.557960 | controller | - ' fi' 2025-11-25 10:02:01.557965 | controller | - ' ' 2025-11-25 10:02:01.557971 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.557977 | controller | them with a script' 2025-11-25 10:02:01.557983 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.557989 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.557997 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.558005 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.558012 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.558027 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.558035 | controller | - ' # it is an image' 2025-11-25 10:02:01.558042 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.558048 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.558056 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.558063 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.558070 | controller | - ' case $NAME in' 2025-11-25 10:02:01.558077 | controller | - ' API)' 2025-11-25 10:02:01.558084 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.558096 | controller | - ' ;;' 2025-11-25 10:02:01.558104 | controller | - ' esac' 2025-11-25 10:02:01.558111 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.558119 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.558127 | controller | - ' exit 1' 2025-11-25 10:02:01.558134 | controller | - ' fi' 2025-11-25 10:02:01.558142 | controller | - ' fi' 2025-11-25 10:02:01.558149 | controller | - ' done' 2025-11-25 10:02:01.558154 | controller | - ' ]' 2025-11-25 10:02:01.558160 | controller | - ' logger.go:42: 09:50:54 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.558166 | controller | : do not match regex' 2025-11-25 10:02:01.558172 | controller | - ' logger.go:42: 09:50:55 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.558178 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.558186 | controller | rely on' 2025-11-25 10:02:01.558194 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.558202 | controller | and checks that' 2025-11-25 10:02:01.558209 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.558217 | controller | pattern' 2025-11-25 10:02:01.558224 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.558243 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.558251 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.558259 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.558265 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.558271 | controller | - ' exit 0' 2025-11-25 10:02:01.558277 | controller | - ' else' 2025-11-25 10:02:01.558282 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.558288 | controller | - ' exit 1' 2025-11-25 10:02:01.558294 | controller | - ' fi' 2025-11-25 10:02:01.558300 | controller | - ' ' 2025-11-25 10:02:01.558306 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.558311 | controller | them with a script' 2025-11-25 10:02:01.558317 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.558323 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.558329 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.558334 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.558340 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.558352 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.558358 | controller | - ' # it is an image' 2025-11-25 10:02:01.558363 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.558369 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.558375 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.558381 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.558386 | controller | - ' case $NAME in' 2025-11-25 10:02:01.558392 | controller | - ' API)' 2025-11-25 10:02:01.558398 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.558404 | controller | - ' ;;' 2025-11-25 10:02:01.558409 | controller | - ' esac' 2025-11-25 10:02:01.558419 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.558425 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.558430 | controller | - ' exit 1' 2025-11-25 10:02:01.558436 | controller | - ' fi' 2025-11-25 10:02:01.558442 | controller | - ' fi' 2025-11-25 10:02:01.558448 | controller | - ' done' 2025-11-25 10:02:01.558453 | controller | - ' ]' 2025-11-25 10:02:01.558459 | controller | - ' logger.go:42: 09:50:55 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.558465 | controller | : do not match regex' 2025-11-25 10:02:01.558471 | controller | - ' logger.go:42: 09:50:56 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.558477 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.558482 | controller | rely on' 2025-11-25 10:02:01.558488 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.558494 | controller | and checks that' 2025-11-25 10:02:01.558500 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.558506 | controller | pattern' 2025-11-25 10:02:01.558511 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.558521 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.558526 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.558532 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.558538 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.558544 | controller | - ' exit 0' 2025-11-25 10:02:01.558551 | controller | - ' else' 2025-11-25 10:02:01.558557 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.558562 | controller | - ' exit 1' 2025-11-25 10:02:01.558568 | controller | - ' fi' 2025-11-25 10:02:01.558574 | controller | - ' ' 2025-11-25 10:02:01.558580 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.558586 | controller | them with a script' 2025-11-25 10:02:01.558610 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.558617 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.558623 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.558629 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.558635 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.558647 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.558653 | controller | - ' # it is an image' 2025-11-25 10:02:01.558658 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.558664 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.558670 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.558676 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.558685 | controller | - ' case $NAME in' 2025-11-25 10:02:01.558691 | controller | - ' API)' 2025-11-25 10:02:01.558697 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.558703 | controller | - ' ;;' 2025-11-25 10:02:01.558718 | controller | - ' esac' 2025-11-25 10:02:01.558724 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.558731 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.558740 | controller | - ' exit 1' 2025-11-25 10:02:01.558749 | controller | - ' fi' 2025-11-25 10:02:01.558755 | controller | - ' fi' 2025-11-25 10:02:01.558761 | controller | - ' done' 2025-11-25 10:02:01.558767 | controller | - ' ]' 2025-11-25 10:02:01.558775 | controller | - ' logger.go:42: 09:50:56 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.558781 | controller | : do not match regex' 2025-11-25 10:02:01.558787 | controller | - ' logger.go:42: 09:50:57 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.558793 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.558799 | controller | rely on' 2025-11-25 10:02:01.558806 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.558812 | controller | and checks that' 2025-11-25 10:02:01.558818 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.558823 | controller | pattern' 2025-11-25 10:02:01.558829 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.558835 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.558842 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.558848 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.558854 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.558860 | controller | - ' exit 0' 2025-11-25 10:02:01.558865 | controller | - ' else' 2025-11-25 10:02:01.558871 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.558877 | controller | - ' exit 1' 2025-11-25 10:02:01.558883 | controller | - ' fi' 2025-11-25 10:02:01.558889 | controller | - ' ' 2025-11-25 10:02:01.558895 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.558900 | controller | them with a script' 2025-11-25 10:02:01.558906 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.558912 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.558918 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.558924 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.558930 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.558941 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.558947 | controller | - ' # it is an image' 2025-11-25 10:02:01.558953 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.558959 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.558964 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.558970 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.558976 | controller | - ' case $NAME in' 2025-11-25 10:02:01.558982 | controller | - ' API)' 2025-11-25 10:02:01.558988 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.558994 | controller | - ' ;;' 2025-11-25 10:02:01.558999 | controller | - ' esac' 2025-11-25 10:02:01.559005 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.559011 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.559020 | controller | - ' exit 1' 2025-11-25 10:02:01.559027 | controller | - ' fi' 2025-11-25 10:02:01.559033 | controller | - ' fi' 2025-11-25 10:02:01.559039 | controller | - ' done' 2025-11-25 10:02:01.559045 | controller | - ' ]' 2025-11-25 10:02:01.559053 | controller | - ' logger.go:42: 09:50:58 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.559060 | controller | : do not match regex' 2025-11-25 10:02:01.559066 | controller | - ' logger.go:42: 09:50:59 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.559071 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.559077 | controller | rely on' 2025-11-25 10:02:01.559083 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.559089 | controller | and checks that' 2025-11-25 10:02:01.559097 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.559103 | controller | pattern' 2025-11-25 10:02:01.559109 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.559115 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.559120 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.559126 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.559132 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.559138 | controller | - ' exit 0' 2025-11-25 10:02:01.559144 | controller | - ' else' 2025-11-25 10:02:01.559149 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.559155 | controller | - ' exit 1' 2025-11-25 10:02:01.559161 | controller | - ' fi' 2025-11-25 10:02:01.559167 | controller | - ' ' 2025-11-25 10:02:01.559173 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.559178 | controller | them with a script' 2025-11-25 10:02:01.559193 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.559200 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.559207 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.559215 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.559223 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.559242 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.559250 | controller | - ' # it is an image' 2025-11-25 10:02:01.559257 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.559263 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.559269 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.559275 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.559281 | controller | - ' case $NAME in' 2025-11-25 10:02:01.559286 | controller | - ' API)' 2025-11-25 10:02:01.559292 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.559298 | controller | - ' ;;' 2025-11-25 10:02:01.559305 | controller | - ' esac' 2025-11-25 10:02:01.559312 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.559320 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.559328 | controller | - ' exit 1' 2025-11-25 10:02:01.559336 | controller | - ' fi' 2025-11-25 10:02:01.559343 | controller | - ' fi' 2025-11-25 10:02:01.559350 | controller | - ' done' 2025-11-25 10:02:01.559357 | controller | - ' ]' 2025-11-25 10:02:01.559363 | controller | - ' logger.go:42: 09:50:59 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.559369 | controller | : do not match regex' 2025-11-25 10:02:01.559380 | controller | - ' logger.go:42: 09:51:00 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.559386 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.559392 | controller | rely on' 2025-11-25 10:02:01.559399 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.559407 | controller | and checks that' 2025-11-25 10:02:01.559414 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.559422 | controller | pattern' 2025-11-25 10:02:01.559430 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.559437 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.559445 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.559452 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.559459 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.559465 | controller | - ' exit 0' 2025-11-25 10:02:01.559471 | controller | - ' else' 2025-11-25 10:02:01.559476 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.559482 | controller | - ' exit 1' 2025-11-25 10:02:01.559489 | controller | - ' fi' 2025-11-25 10:02:01.559497 | controller | - ' ' 2025-11-25 10:02:01.559504 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.559512 | controller | them with a script' 2025-11-25 10:02:01.559520 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.559527 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.559535 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.559542 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.559550 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.559564 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.559570 | controller | - ' # it is an image' 2025-11-25 10:02:01.559577 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.559584 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.559612 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.559621 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.559628 | controller | - ' case $NAME in' 2025-11-25 10:02:01.559635 | controller | - ' API)' 2025-11-25 10:02:01.559643 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.559650 | controller | - ' ;;' 2025-11-25 10:02:01.559658 | controller | - ' esac' 2025-11-25 10:02:01.559665 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.559673 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.559680 | controller | - ' exit 1' 2025-11-25 10:02:01.559687 | controller | - ' fi' 2025-11-25 10:02:01.559695 | controller | - ' fi' 2025-11-25 10:02:01.559701 | controller | - ' done' 2025-11-25 10:02:01.559707 | controller | - ' ]' 2025-11-25 10:02:01.559713 | controller | - ' logger.go:42: 09:51:00 | fernet_rotation/0-deploy_keystone | Endpoints URLS: 2025-11-25 10:02:01.559718 | controller | : do not match regex' 2025-11-25 10:02:01.559724 | controller | - ' logger.go:42: 09:51:01 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.559740 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.559751 | controller | rely on' 2025-11-25 10:02:01.559757 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.559763 | controller | and checks that' 2025-11-25 10:02:01.559772 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.559778 | controller | pattern' 2025-11-25 10:02:01.559784 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.559790 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.559795 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.559801 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.559807 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.559813 | controller | - ' exit 0' 2025-11-25 10:02:01.559818 | controller | - ' else' 2025-11-25 10:02:01.559824 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.559830 | controller | - ' exit 1' 2025-11-25 10:02:01.559836 | controller | - ' fi' 2025-11-25 10:02:01.559842 | controller | - ' ' 2025-11-25 10:02:01.559847 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.559853 | controller | them with a script' 2025-11-25 10:02:01.559859 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.559865 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.559871 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.559876 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.559882 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.559894 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.559900 | controller | - ' # it is an image' 2025-11-25 10:02:01.559905 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.559911 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.559917 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.559923 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.559929 | controller | - ' case $NAME in' 2025-11-25 10:02:01.559934 | controller | - ' API)' 2025-11-25 10:02:01.559940 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.559946 | controller | - ' ;;' 2025-11-25 10:02:01.559952 | controller | - ' esac' 2025-11-25 10:02:01.559958 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.559963 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.559969 | controller | - ' exit 1' 2025-11-25 10:02:01.559975 | controller | - ' fi' 2025-11-25 10:02:01.559981 | controller | - ' fi' 2025-11-25 10:02:01.559987 | controller | - ' done' 2025-11-25 10:02:01.559995 | controller | - ' ]' 2025-11-25 10:02:01.560001 | controller | - ' logger.go:42: 09:51:02 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.560007 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.560012 | controller | rely on' 2025-11-25 10:02:01.560018 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.560024 | controller | and checks that' 2025-11-25 10:02:01.560030 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.560036 | controller | pattern' 2025-11-25 10:02:01.560042 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.560051 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.560059 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.560067 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.560074 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.560080 | controller | - ' exit 0' 2025-11-25 10:02:01.560086 | controller | - ' else' 2025-11-25 10:02:01.560092 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.560098 | controller | - ' exit 1' 2025-11-25 10:02:01.560104 | controller | - ' fi' 2025-11-25 10:02:01.560110 | controller | - ' ' 2025-11-25 10:02:01.560116 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.560121 | controller | them with a script' 2025-11-25 10:02:01.560127 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.560133 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.560139 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.560145 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.560151 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.560162 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.560168 | controller | - ' # it is an image' 2025-11-25 10:02:01.560174 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.560183 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.560199 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.560205 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.560211 | controller | - ' case $NAME in' 2025-11-25 10:02:01.560217 | controller | - ' API)' 2025-11-25 10:02:01.560223 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.560228 | controller | - ' ;;' 2025-11-25 10:02:01.560235 | controller | - ' esac' 2025-11-25 10:02:01.560241 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.560247 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.560253 | controller | - ' exit 1' 2025-11-25 10:02:01.560259 | controller | - ' fi' 2025-11-25 10:02:01.560265 | controller | - ' fi' 2025-11-25 10:02:01.560270 | controller | - ' done' 2025-11-25 10:02:01.560276 | controller | - ' ]' 2025-11-25 10:02:01.560282 | controller | - ' logger.go:42: 09:51:03 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.560288 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.560294 | controller | rely on' 2025-11-25 10:02:01.560300 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.560306 | controller | and checks that' 2025-11-25 10:02:01.560311 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.560317 | controller | pattern' 2025-11-25 10:02:01.560323 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.560329 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.560335 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.560341 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.560349 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.560356 | controller | - ' exit 0' 2025-11-25 10:02:01.560361 | controller | - ' else' 2025-11-25 10:02:01.560367 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.560373 | controller | - ' exit 1' 2025-11-25 10:02:01.560379 | controller | - ' fi' 2025-11-25 10:02:01.560385 | controller | - ' ' 2025-11-25 10:02:01.560391 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.560396 | controller | them with a script' 2025-11-25 10:02:01.560402 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.560408 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.560414 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.560420 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.560426 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.560438 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.560443 | controller | - ' # it is an image' 2025-11-25 10:02:01.560449 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.560455 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.560461 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.560467 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.560473 | controller | - ' case $NAME in' 2025-11-25 10:02:01.560479 | controller | - ' API)' 2025-11-25 10:02:01.560484 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.560490 | controller | - ' ;;' 2025-11-25 10:02:01.560496 | controller | - ' esac' 2025-11-25 10:02:01.560502 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.560508 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.560514 | controller | - ' exit 1' 2025-11-25 10:02:01.560520 | controller | - ' fi' 2025-11-25 10:02:01.560526 | controller | - ' fi' 2025-11-25 10:02:01.560531 | controller | - ' done' 2025-11-25 10:02:01.560537 | controller | - ' ]' 2025-11-25 10:02:01.560543 | controller | - ' logger.go:42: 09:51:04 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.560549 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.560555 | controller | rely on' 2025-11-25 10:02:01.560561 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.560566 | controller | and checks that' 2025-11-25 10:02:01.560572 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.560578 | controller | pattern' 2025-11-25 10:02:01.560584 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.560606 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.560612 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.560618 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.560624 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.560630 | controller | - ' exit 0' 2025-11-25 10:02:01.560636 | controller | - ' else' 2025-11-25 10:02:01.560642 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.560647 | controller | - ' exit 1' 2025-11-25 10:02:01.560653 | controller | - ' fi' 2025-11-25 10:02:01.560662 | controller | - ' ' 2025-11-25 10:02:01.560669 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.560683 | controller | them with a script' 2025-11-25 10:02:01.560692 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.560700 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.560707 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.560715 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.560722 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.560737 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.560744 | controller | - ' # it is an image' 2025-11-25 10:02:01.560750 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.560756 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.560762 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.560769 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.560775 | controller | - ' case $NAME in' 2025-11-25 10:02:01.560780 | controller | - ' API)' 2025-11-25 10:02:01.560786 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.560792 | controller | - ' ;;' 2025-11-25 10:02:01.560799 | controller | - ' esac' 2025-11-25 10:02:01.560805 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.560811 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.560817 | controller | - ' exit 1' 2025-11-25 10:02:01.560823 | controller | - ' fi' 2025-11-25 10:02:01.560829 | controller | - ' fi' 2025-11-25 10:02:01.560835 | controller | - ' done' 2025-11-25 10:02:01.560841 | controller | - ' ]' 2025-11-25 10:02:01.560847 | controller | - ' logger.go:42: 09:51:06 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.560853 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.560859 | controller | rely on' 2025-11-25 10:02:01.560868 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.560874 | controller | and checks that' 2025-11-25 10:02:01.560880 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.560887 | controller | pattern' 2025-11-25 10:02:01.560895 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.560901 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.560908 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.560916 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.560922 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.560928 | controller | - ' exit 0' 2025-11-25 10:02:01.560934 | controller | - ' else' 2025-11-25 10:02:01.560940 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.560946 | controller | - ' exit 1' 2025-11-25 10:02:01.560952 | controller | - ' fi' 2025-11-25 10:02:01.560958 | controller | - ' ' 2025-11-25 10:02:01.560964 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.560970 | controller | them with a script' 2025-11-25 10:02:01.560975 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.560981 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.560990 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.560997 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.561003 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.561016 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.561022 | controller | - ' # it is an image' 2025-11-25 10:02:01.561028 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.561033 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.561039 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.561045 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.561051 | controller | - ' case $NAME in' 2025-11-25 10:02:01.561058 | controller | - ' API)' 2025-11-25 10:02:01.561066 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.561074 | controller | - ' ;;' 2025-11-25 10:02:01.561081 | controller | - ' esac' 2025-11-25 10:02:01.561089 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.561096 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.561103 | controller | - ' exit 1' 2025-11-25 10:02:01.561111 | controller | - ' fi' 2025-11-25 10:02:01.561118 | controller | - ' fi' 2025-11-25 10:02:01.561126 | controller | - ' done' 2025-11-25 10:02:01.561133 | controller | - ' ]' 2025-11-25 10:02:01.561141 | controller | - ' logger.go:42: 09:51:07 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.561148 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.561156 | controller | rely on' 2025-11-25 10:02:01.561163 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.561171 | controller | and checks that' 2025-11-25 10:02:01.561179 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.561196 | controller | pattern' 2025-11-25 10:02:01.561203 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.561209 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.561214 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.561220 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.561226 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.561232 | controller | - ' exit 0' 2025-11-25 10:02:01.561241 | controller | - ' else' 2025-11-25 10:02:01.561247 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.561253 | controller | - ' exit 1' 2025-11-25 10:02:01.561259 | controller | - ' fi' 2025-11-25 10:02:01.561265 | controller | - ' ' 2025-11-25 10:02:01.561270 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.561276 | controller | them with a script' 2025-11-25 10:02:01.561282 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.561288 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.561294 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.561299 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.561305 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.561320 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.561326 | controller | - ' # it is an image' 2025-11-25 10:02:01.561331 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.561337 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.561343 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.561349 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.561355 | controller | - ' case $NAME in' 2025-11-25 10:02:01.561360 | controller | - ' API)' 2025-11-25 10:02:01.561366 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.561372 | controller | - ' ;;' 2025-11-25 10:02:01.561378 | controller | - ' esac' 2025-11-25 10:02:01.561384 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.561389 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.561395 | controller | - ' exit 1' 2025-11-25 10:02:01.561401 | controller | - ' fi' 2025-11-25 10:02:01.561407 | controller | - ' fi' 2025-11-25 10:02:01.561413 | controller | - ' done' 2025-11-25 10:02:01.561418 | controller | - ' ]' 2025-11-25 10:02:01.561424 | controller | - ' logger.go:42: 09:51:08 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.561430 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.561436 | controller | rely on' 2025-11-25 10:02:01.561442 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.561447 | controller | and checks that' 2025-11-25 10:02:01.561453 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.561459 | controller | pattern' 2025-11-25 10:02:01.561465 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.561470 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.561476 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.561482 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.561488 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.561494 | controller | - ' exit 0' 2025-11-25 10:02:01.561499 | controller | - ' else' 2025-11-25 10:02:01.561505 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.561511 | controller | - ' exit 1' 2025-11-25 10:02:01.561517 | controller | - ' fi' 2025-11-25 10:02:01.561523 | controller | - ' ' 2025-11-25 10:02:01.561528 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.561534 | controller | them with a script' 2025-11-25 10:02:01.561540 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.561546 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.561552 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.561573 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.561581 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.561609 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.561615 | controller | - ' # it is an image' 2025-11-25 10:02:01.561621 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.561627 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.561633 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.561642 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.561648 | controller | - ' case $NAME in' 2025-11-25 10:02:01.561654 | controller | - ' API)' 2025-11-25 10:02:01.561669 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.561675 | controller | - ' ;;' 2025-11-25 10:02:01.561681 | controller | - ' esac' 2025-11-25 10:02:01.561687 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.561693 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.561699 | controller | - ' exit 1' 2025-11-25 10:02:01.561704 | controller | - ' fi' 2025-11-25 10:02:01.561710 | controller | - ' fi' 2025-11-25 10:02:01.561716 | controller | - ' done' 2025-11-25 10:02:01.561722 | controller | - ' ]' 2025-11-25 10:02:01.561728 | controller | - ' logger.go:42: 09:51:09 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.561733 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.561739 | controller | rely on' 2025-11-25 10:02:01.561745 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.561751 | controller | and checks that' 2025-11-25 10:02:01.561756 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.561762 | controller | pattern' 2025-11-25 10:02:01.561768 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.561775 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.561786 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.561795 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.561802 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.561810 | controller | - ' exit 0' 2025-11-25 10:02:01.561817 | controller | - ' else' 2025-11-25 10:02:01.561824 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.561830 | controller | - ' exit 1' 2025-11-25 10:02:01.561836 | controller | - ' fi' 2025-11-25 10:02:01.561842 | controller | - ' ' 2025-11-25 10:02:01.561848 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.561853 | controller | them with a script' 2025-11-25 10:02:01.561859 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.561872 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.561878 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.561883 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.561889 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.561901 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.561907 | controller | - ' # it is an image' 2025-11-25 10:02:01.561912 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.561918 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.561924 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.561930 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.561936 | controller | - ' case $NAME in' 2025-11-25 10:02:01.561941 | controller | - ' API)' 2025-11-25 10:02:01.561947 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.561956 | controller | - ' ;;' 2025-11-25 10:02:01.561962 | controller | - ' esac' 2025-11-25 10:02:01.561968 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.561974 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.561982 | controller | - ' exit 1' 2025-11-25 10:02:01.561993 | controller | - ' fi' 2025-11-25 10:02:01.562001 | controller | - ' fi' 2025-11-25 10:02:01.562009 | controller | - ' done' 2025-11-25 10:02:01.562016 | controller | - ' ]' 2025-11-25 10:02:01.562024 | controller | - ' logger.go:42: 09:51:10 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.562031 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.562037 | controller | rely on' 2025-11-25 10:02:01.562042 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.562048 | controller | and checks that' 2025-11-25 10:02:01.562059 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.562066 | controller | pattern' 2025-11-25 10:02:01.562074 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.562082 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.562090 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.562097 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.562105 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.562112 | controller | - ' exit 0' 2025-11-25 10:02:01.562120 | controller | - ' else' 2025-11-25 10:02:01.562127 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.562133 | controller | - ' exit 1' 2025-11-25 10:02:01.562139 | controller | - ' fi' 2025-11-25 10:02:01.562145 | controller | - ' ' 2025-11-25 10:02:01.562150 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.562157 | controller | them with a script' 2025-11-25 10:02:01.562164 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.562172 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.562191 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.562200 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.562208 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.562227 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.562234 | controller | - ' # it is an image' 2025-11-25 10:02:01.562241 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.562247 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.562254 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.562262 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.562270 | controller | - ' case $NAME in' 2025-11-25 10:02:01.562278 | controller | - ' API)' 2025-11-25 10:02:01.562285 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.562293 | controller | - ' ;;' 2025-11-25 10:02:01.562300 | controller | - ' esac' 2025-11-25 10:02:01.562308 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.562315 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.562322 | controller | - ' exit 1' 2025-11-25 10:02:01.562330 | controller | - ' fi' 2025-11-25 10:02:01.562341 | controller | - ' fi' 2025-11-25 10:02:01.562349 | controller | - ' done' 2025-11-25 10:02:01.562356 | controller | - ' ]' 2025-11-25 10:02:01.562364 | controller | - ' logger.go:42: 09:51:11 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.562371 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.562379 | controller | rely on' 2025-11-25 10:02:01.562386 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.562394 | controller | and checks that' 2025-11-25 10:02:01.562401 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.562409 | controller | pattern' 2025-11-25 10:02:01.562416 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.562423 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.562431 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.562438 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.562446 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.562454 | controller | - ' exit 0' 2025-11-25 10:02:01.562461 | controller | - ' else' 2025-11-25 10:02:01.562469 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.562476 | controller | - ' exit 1' 2025-11-25 10:02:01.562484 | controller | - ' fi' 2025-11-25 10:02:01.562495 | controller | - ' ' 2025-11-25 10:02:01.562503 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.562510 | controller | them with a script' 2025-11-25 10:02:01.562518 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.562525 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.562533 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.562540 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.562548 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.562563 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.562570 | controller | - ' # it is an image' 2025-11-25 10:02:01.562578 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.562585 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.562613 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.562621 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.562628 | controller | - ' case $NAME in' 2025-11-25 10:02:01.562636 | controller | - ' API)' 2025-11-25 10:02:01.562643 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.562651 | controller | - ' ;;' 2025-11-25 10:02:01.562658 | controller | - ' esac' 2025-11-25 10:02:01.562665 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.562673 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.562680 | controller | - ' exit 1' 2025-11-25 10:02:01.562688 | controller | - ' fi' 2025-11-25 10:02:01.562695 | controller | - ' fi' 2025-11-25 10:02:01.562703 | controller | - ' done' 2025-11-25 10:02:01.562711 | controller | - ' ]' 2025-11-25 10:02:01.562718 | controller | - ' logger.go:42: 09:51:13 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.562726 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.562737 | controller | rely on' 2025-11-25 10:02:01.562745 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.562752 | controller | and checks that' 2025-11-25 10:02:01.562759 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.562767 | controller | pattern' 2025-11-25 10:02:01.562774 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.562782 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.562801 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.562810 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.562818 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.562825 | controller | - ' exit 0' 2025-11-25 10:02:01.562833 | controller | - ' else' 2025-11-25 10:02:01.562840 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.562848 | controller | - ' exit 1' 2025-11-25 10:02:01.562855 | controller | - ' fi' 2025-11-25 10:02:01.562862 | controller | - ' ' 2025-11-25 10:02:01.562870 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.562877 | controller | them with a script' 2025-11-25 10:02:01.562885 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.562893 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.562900 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.562908 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.562915 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.562930 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.562938 | controller | - ' # it is an image' 2025-11-25 10:02:01.562945 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.562953 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.562960 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.562968 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.562975 | controller | - ' case $NAME in' 2025-11-25 10:02:01.562983 | controller | - ' API)' 2025-11-25 10:02:01.562990 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.562998 | controller | - ' ;;' 2025-11-25 10:02:01.563005 | controller | - ' esac' 2025-11-25 10:02:01.563013 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.563020 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.563027 | controller | - ' exit 1' 2025-11-25 10:02:01.563035 | controller | - ' fi' 2025-11-25 10:02:01.563042 | controller | - ' fi' 2025-11-25 10:02:01.563050 | controller | - ' done' 2025-11-25 10:02:01.563057 | controller | - ' ]' 2025-11-25 10:02:01.563065 | controller | - ' logger.go:42: 09:51:14 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.563072 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.563080 | controller | rely on' 2025-11-25 10:02:01.563088 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.563095 | controller | and checks that' 2025-11-25 10:02:01.563102 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.563110 | controller | pattern' 2025-11-25 10:02:01.563117 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.563129 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.563137 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.563144 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.563152 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.563163 | controller | - ' exit 0' 2025-11-25 10:02:01.563171 | controller | - ' else' 2025-11-25 10:02:01.563179 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.563186 | controller | - ' exit 1' 2025-11-25 10:02:01.563193 | controller | - ' fi' 2025-11-25 10:02:01.563201 | controller | - ' ' 2025-11-25 10:02:01.563208 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.563216 | controller | them with a script' 2025-11-25 10:02:01.563223 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.563231 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.563238 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.563246 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.563253 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.563268 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.563276 | controller | - ' # it is an image' 2025-11-25 10:02:01.563283 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.563290 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.563298 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.563305 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.563317 | controller | - ' case $NAME in' 2025-11-25 10:02:01.563325 | controller | - ' API)' 2025-11-25 10:02:01.563332 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.563339 | controller | - ' ;;' 2025-11-25 10:02:01.563347 | controller | - ' esac' 2025-11-25 10:02:01.563354 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.563362 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.563369 | controller | - ' exit 1' 2025-11-25 10:02:01.563389 | controller | - ' fi' 2025-11-25 10:02:01.563396 | controller | - ' fi' 2025-11-25 10:02:01.563404 | controller | - ' done' 2025-11-25 10:02:01.563411 | controller | - ' ]' 2025-11-25 10:02:01.563417 | controller | - ' logger.go:42: 09:51:15 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.563422 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.563428 | controller | rely on' 2025-11-25 10:02:01.563434 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.563440 | controller | and checks that' 2025-11-25 10:02:01.563446 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.563451 | controller | pattern' 2025-11-25 10:02:01.563457 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.563463 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.563469 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.563475 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.563484 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.563490 | controller | - ' exit 0' 2025-11-25 10:02:01.563496 | controller | - ' else' 2025-11-25 10:02:01.563501 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.563507 | controller | - ' exit 1' 2025-11-25 10:02:01.563513 | controller | - ' fi' 2025-11-25 10:02:01.563519 | controller | - ' ' 2025-11-25 10:02:01.563525 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.563530 | controller | them with a script' 2025-11-25 10:02:01.563536 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.563542 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.563548 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.563554 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.563559 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.563571 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.563577 | controller | - ' # it is an image' 2025-11-25 10:02:01.563582 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.563602 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.563612 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.563618 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.563623 | controller | - ' case $NAME in' 2025-11-25 10:02:01.563629 | controller | - ' API)' 2025-11-25 10:02:01.563635 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.563641 | controller | - ' ;;' 2025-11-25 10:02:01.563647 | controller | - ' esac' 2025-11-25 10:02:01.563652 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.563661 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.563667 | controller | - ' exit 1' 2025-11-25 10:02:01.563673 | controller | - ' fi' 2025-11-25 10:02:01.563679 | controller | - ' fi' 2025-11-25 10:02:01.563685 | controller | - ' done' 2025-11-25 10:02:01.563691 | controller | - ' ]' 2025-11-25 10:02:01.563696 | controller | - ' logger.go:42: 09:51:16 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.563702 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.563708 | controller | rely on' 2025-11-25 10:02:01.563714 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.563720 | controller | and checks that' 2025-11-25 10:02:01.563725 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.563731 | controller | pattern' 2025-11-25 10:02:01.563737 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.563743 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.563749 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.563754 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.563760 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.563766 | controller | - ' exit 0' 2025-11-25 10:02:01.563772 | controller | - ' else' 2025-11-25 10:02:01.563778 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.563783 | controller | - ' exit 1' 2025-11-25 10:02:01.563789 | controller | - ' fi' 2025-11-25 10:02:01.563798 | controller | - ' ' 2025-11-25 10:02:01.563804 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.563810 | controller | them with a script' 2025-11-25 10:02:01.563817 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.563825 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.563832 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.563840 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.563847 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.563859 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.563875 | controller | - ' # it is an image' 2025-11-25 10:02:01.563882 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.563887 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.563893 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.563900 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.563908 | controller | - ' case $NAME in' 2025-11-25 10:02:01.563915 | controller | - ' API)' 2025-11-25 10:02:01.563927 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.563935 | controller | - ' ;;' 2025-11-25 10:02:01.563943 | controller | - ' esac' 2025-11-25 10:02:01.563949 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.563955 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.563961 | controller | - ' exit 1' 2025-11-25 10:02:01.563967 | controller | - ' fi' 2025-11-25 10:02:01.563973 | controller | - ' fi' 2025-11-25 10:02:01.563979 | controller | - ' done' 2025-11-25 10:02:01.563984 | controller | - ' ]' 2025-11-25 10:02:01.563991 | controller | - ' logger.go:42: 09:51:17 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.563998 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.564006 | controller | rely on' 2025-11-25 10:02:01.564014 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.564022 | controller | and checks that' 2025-11-25 10:02:01.564029 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.564037 | controller | pattern' 2025-11-25 10:02:01.564044 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.564052 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.564059 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.564067 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.564073 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.564079 | controller | - ' exit 0' 2025-11-25 10:02:01.564085 | controller | - ' else' 2025-11-25 10:02:01.564091 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.564096 | controller | - ' exit 1' 2025-11-25 10:02:01.564102 | controller | - ' fi' 2025-11-25 10:02:01.564108 | controller | - ' ' 2025-11-25 10:02:01.564114 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.564120 | controller | them with a script' 2025-11-25 10:02:01.564125 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.564131 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.564143 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.564149 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.564155 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.564167 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.564172 | controller | - ' # it is an image' 2025-11-25 10:02:01.564178 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.564184 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.564190 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.564196 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.564201 | controller | - ' case $NAME in' 2025-11-25 10:02:01.564207 | controller | - ' API)' 2025-11-25 10:02:01.564213 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.564219 | controller | - ' ;;' 2025-11-25 10:02:01.564225 | controller | - ' esac' 2025-11-25 10:02:01.564230 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.564236 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.564242 | controller | - ' exit 1' 2025-11-25 10:02:01.564248 | controller | - ' fi' 2025-11-25 10:02:01.564255 | controller | - ' fi' 2025-11-25 10:02:01.564267 | controller | - ' done' 2025-11-25 10:02:01.564280 | controller | - ' ]' 2025-11-25 10:02:01.564287 | controller | - ' logger.go:42: 09:51:19 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.564294 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.564302 | controller | rely on' 2025-11-25 10:02:01.564309 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.564316 | controller | and checks that' 2025-11-25 10:02:01.564323 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.564330 | controller | pattern' 2025-11-25 10:02:01.564338 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.564345 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.564352 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.564360 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.564366 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.564372 | controller | - ' exit 0' 2025-11-25 10:02:01.564378 | controller | - ' else' 2025-11-25 10:02:01.564396 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.564402 | controller | - ' exit 1' 2025-11-25 10:02:01.564408 | controller | - ' fi' 2025-11-25 10:02:01.564414 | controller | - ' ' 2025-11-25 10:02:01.564420 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.564425 | controller | them with a script' 2025-11-25 10:02:01.564432 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.564442 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.564458 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.564466 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.564475 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.564492 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.564502 | controller | - ' # it is an image' 2025-11-25 10:02:01.564508 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.564514 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.564519 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.564526 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.564534 | controller | - ' case $NAME in' 2025-11-25 10:02:01.564542 | controller | - ' API)' 2025-11-25 10:02:01.564549 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.564556 | controller | - ' ;;' 2025-11-25 10:02:01.564564 | controller | - ' esac' 2025-11-25 10:02:01.564572 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.564577 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.564583 | controller | - ' exit 1' 2025-11-25 10:02:01.564609 | controller | - ' fi' 2025-11-25 10:02:01.564615 | controller | - ' fi' 2025-11-25 10:02:01.564623 | controller | - ' done' 2025-11-25 10:02:01.564630 | controller | - ' ]' 2025-11-25 10:02:01.564638 | controller | - ' logger.go:42: 09:51:20 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.564646 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.564653 | controller | rely on' 2025-11-25 10:02:01.564661 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.564668 | controller | and checks that' 2025-11-25 10:02:01.564675 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.564681 | controller | pattern' 2025-11-25 10:02:01.564687 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.564692 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.564698 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.564705 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.564712 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.564720 | controller | - ' exit 0' 2025-11-25 10:02:01.564727 | controller | - ' else' 2025-11-25 10:02:01.564735 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.564742 | controller | - ' exit 1' 2025-11-25 10:02:01.564750 | controller | - ' fi' 2025-11-25 10:02:01.564757 | controller | - ' ' 2025-11-25 10:02:01.564765 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.564772 | controller | them with a script' 2025-11-25 10:02:01.564779 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.564785 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.564791 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.564799 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.564807 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.564822 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.564830 | controller | - ' # it is an image' 2025-11-25 10:02:01.564837 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.564844 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.564852 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.564864 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.564871 | controller | - ' case $NAME in' 2025-11-25 10:02:01.564878 | controller | - ' API)' 2025-11-25 10:02:01.564886 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.564894 | controller | - ' ;;' 2025-11-25 10:02:01.564901 | controller | - ' esac' 2025-11-25 10:02:01.564909 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.564916 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.564924 | controller | - ' exit 1' 2025-11-25 10:02:01.564931 | controller | - ' fi' 2025-11-25 10:02:01.564938 | controller | - ' fi' 2025-11-25 10:02:01.564946 | controller | - ' done' 2025-11-25 10:02:01.564953 | controller | - ' ]' 2025-11-25 10:02:01.564960 | controller | - ' logger.go:42: 09:51:21 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.564981 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.564990 | controller | rely on' 2025-11-25 10:02:01.564998 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.565005 | controller | and checks that' 2025-11-25 10:02:01.565013 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.565020 | controller | pattern' 2025-11-25 10:02:01.565028 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.565035 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.565043 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.565050 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.565058 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.565065 | controller | - ' exit 0' 2025-11-25 10:02:01.565072 | controller | - ' else' 2025-11-25 10:02:01.565079 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.565087 | controller | - ' exit 1' 2025-11-25 10:02:01.565094 | controller | - ' fi' 2025-11-25 10:02:01.565102 | controller | - ' ' 2025-11-25 10:02:01.565109 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.565117 | controller | them with a script' 2025-11-25 10:02:01.565124 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.565132 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.565139 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.565147 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.565154 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.565169 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.565177 | controller | - ' # it is an image' 2025-11-25 10:02:01.565184 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.565192 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.565199 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.565207 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.565214 | controller | - ' case $NAME in' 2025-11-25 10:02:01.565222 | controller | - ' API)' 2025-11-25 10:02:01.565229 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.565241 | controller | - ' ;;' 2025-11-25 10:02:01.565248 | controller | - ' esac' 2025-11-25 10:02:01.565256 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.565264 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.565271 | controller | - ' exit 1' 2025-11-25 10:02:01.565283 | controller | - ' fi' 2025-11-25 10:02:01.565291 | controller | - ' fi' 2025-11-25 10:02:01.565298 | controller | - ' done' 2025-11-25 10:02:01.565306 | controller | - ' ]' 2025-11-25 10:02:01.565313 | controller | - ' logger.go:42: 09:51:22 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.565320 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.565328 | controller | rely on' 2025-11-25 10:02:01.565335 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.565343 | controller | and checks that' 2025-11-25 10:02:01.565351 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.565358 | controller | pattern' 2025-11-25 10:02:01.565366 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.565373 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.565381 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.565388 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.565399 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.565407 | controller | - ' exit 0' 2025-11-25 10:02:01.565415 | controller | - ' else' 2025-11-25 10:02:01.565422 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.565430 | controller | - ' exit 1' 2025-11-25 10:02:01.565438 | controller | - ' fi' 2025-11-25 10:02:01.565445 | controller | - ' ' 2025-11-25 10:02:01.565452 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.565459 | controller | them with a script' 2025-11-25 10:02:01.565467 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.565474 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.565482 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.565489 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.565501 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.565517 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.565525 | controller | - ' # it is an image' 2025-11-25 10:02:01.565536 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.565544 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.565630 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.565650 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.565658 | controller | - ' case $NAME in' 2025-11-25 10:02:01.565665 | controller | - ' API)' 2025-11-25 10:02:01.565673 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.565680 | controller | - ' ;;' 2025-11-25 10:02:01.565688 | controller | - ' esac' 2025-11-25 10:02:01.565695 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.565702 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.565709 | controller | - ' exit 1' 2025-11-25 10:02:01.565717 | controller | - ' fi' 2025-11-25 10:02:01.565728 | controller | - ' fi' 2025-11-25 10:02:01.565736 | controller | - ' done' 2025-11-25 10:02:01.565743 | controller | - ' ]' 2025-11-25 10:02:01.565751 | controller | - ' logger.go:42: 09:51:23 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.565758 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.565766 | controller | rely on' 2025-11-25 10:02:01.565773 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.565780 | controller | and checks that' 2025-11-25 10:02:01.565792 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.565800 | controller | pattern' 2025-11-25 10:02:01.565807 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.565815 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.565822 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.565830 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.565837 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.565844 | controller | - ' exit 0' 2025-11-25 10:02:01.565852 | controller | - ' else' 2025-11-25 10:02:01.565859 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.565867 | controller | - ' exit 1' 2025-11-25 10:02:01.565874 | controller | - ' fi' 2025-11-25 10:02:01.565882 | controller | - ' ' 2025-11-25 10:02:01.565889 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.565897 | controller | them with a script' 2025-11-25 10:02:01.565904 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.565912 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.565923 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.565930 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.565938 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.565953 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.565960 | controller | - ' # it is an image' 2025-11-25 10:02:01.565968 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.565975 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.565983 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.565990 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.565997 | controller | - ' case $NAME in' 2025-11-25 10:02:01.566005 | controller | - ' API)' 2025-11-25 10:02:01.566012 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.566020 | controller | - ' ;;' 2025-11-25 10:02:01.566027 | controller | - ' esac' 2025-11-25 10:02:01.566035 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.566042 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.566050 | controller | - ' exit 1' 2025-11-25 10:02:01.566057 | controller | - ' fi' 2025-11-25 10:02:01.566065 | controller | - ' fi' 2025-11-25 10:02:01.566072 | controller | - ' done' 2025-11-25 10:02:01.566080 | controller | - ' ]' 2025-11-25 10:02:01.566087 | controller | - ' logger.go:42: 09:51:25 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.566094 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.566102 | controller | rely on' 2025-11-25 10:02:01.566115 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.566123 | controller | and checks that' 2025-11-25 10:02:01.566130 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.566138 | controller | pattern' 2025-11-25 10:02:01.566145 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.566153 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.566160 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.566168 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.566175 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.566183 | controller | - ' exit 0' 2025-11-25 10:02:01.566190 | controller | - ' else' 2025-11-25 10:02:01.566198 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.566205 | controller | - ' exit 1' 2025-11-25 10:02:01.566212 | controller | - ' fi' 2025-11-25 10:02:01.566220 | controller | - ' ' 2025-11-25 10:02:01.566226 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.566232 | controller | them with a script' 2025-11-25 10:02:01.566249 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.566255 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.566261 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.566267 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.566273 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.566284 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.566290 | controller | - ' # it is an image' 2025-11-25 10:02:01.566296 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.566302 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.566308 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.566314 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.566319 | controller | - ' case $NAME in' 2025-11-25 10:02:01.566325 | controller | - ' API)' 2025-11-25 10:02:01.566331 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.566337 | controller | - ' ;;' 2025-11-25 10:02:01.566343 | controller | - ' esac' 2025-11-25 10:02:01.566348 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.566354 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.566360 | controller | - ' exit 1' 2025-11-25 10:02:01.566366 | controller | - ' fi' 2025-11-25 10:02:01.566372 | controller | - ' fi' 2025-11-25 10:02:01.566377 | controller | - ' done' 2025-11-25 10:02:01.566383 | controller | - ' ]' 2025-11-25 10:02:01.566389 | controller | - ' logger.go:42: 09:51:26 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.566395 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.566401 | controller | rely on' 2025-11-25 10:02:01.566406 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.566412 | controller | and checks that' 2025-11-25 10:02:01.566418 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.566424 | controller | pattern' 2025-11-25 10:02:01.566430 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.566439 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.566445 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.566451 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.566456 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.566462 | controller | - ' exit 0' 2025-11-25 10:02:01.566468 | controller | - ' else' 2025-11-25 10:02:01.566474 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.566480 | controller | - ' exit 1' 2025-11-25 10:02:01.566485 | controller | - ' fi' 2025-11-25 10:02:01.566491 | controller | - ' ' 2025-11-25 10:02:01.566497 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.566503 | controller | them with a script' 2025-11-25 10:02:01.566509 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.566514 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.566520 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.566526 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.566532 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.566544 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.566549 | controller | - ' # it is an image' 2025-11-25 10:02:01.566556 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.566564 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.566572 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.566580 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.566602 | controller | - ' case $NAME in' 2025-11-25 10:02:01.566613 | controller | - ' API)' 2025-11-25 10:02:01.566620 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.566628 | controller | - ' ;;' 2025-11-25 10:02:01.566636 | controller | - ' esac' 2025-11-25 10:02:01.566643 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.566650 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.566659 | controller | - ' exit 1' 2025-11-25 10:02:01.566667 | controller | - ' fi' 2025-11-25 10:02:01.566675 | controller | - ' fi' 2025-11-25 10:02:01.566681 | controller | - ' done' 2025-11-25 10:02:01.566695 | controller | - ' ]' 2025-11-25 10:02:01.566701 | controller | - ' logger.go:42: 09:51:27 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.566708 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.566713 | controller | rely on' 2025-11-25 10:02:01.566719 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.566725 | controller | and checks that' 2025-11-25 10:02:01.566731 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.566737 | controller | pattern' 2025-11-25 10:02:01.566754 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.566761 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.566767 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.566773 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.566783 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.566789 | controller | - ' exit 0' 2025-11-25 10:02:01.566795 | controller | - ' else' 2025-11-25 10:02:01.566800 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.566806 | controller | - ' exit 1' 2025-11-25 10:02:01.566812 | controller | - ' fi' 2025-11-25 10:02:01.566818 | controller | - ' ' 2025-11-25 10:02:01.566824 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.566830 | controller | them with a script' 2025-11-25 10:02:01.566836 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.566842 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.566848 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.566853 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.566859 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.566872 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.566878 | controller | - ' # it is an image' 2025-11-25 10:02:01.566884 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.566891 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.566897 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.566904 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.566911 | controller | - ' case $NAME in' 2025-11-25 10:02:01.566918 | controller | - ' API)' 2025-11-25 10:02:01.566925 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.566932 | controller | - ' ;;' 2025-11-25 10:02:01.566939 | controller | - ' esac' 2025-11-25 10:02:01.566945 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.566951 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.566957 | controller | - ' exit 1' 2025-11-25 10:02:01.566963 | controller | - ' fi' 2025-11-25 10:02:01.566968 | controller | - ' fi' 2025-11-25 10:02:01.566974 | controller | - ' done' 2025-11-25 10:02:01.566980 | controller | - ' ]' 2025-11-25 10:02:01.566986 | controller | - ' logger.go:42: 09:51:28 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.566992 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.566999 | controller | rely on' 2025-11-25 10:02:01.567005 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.567010 | controller | and checks that' 2025-11-25 10:02:01.567016 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.567022 | controller | pattern' 2025-11-25 10:02:01.567028 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.567034 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.567040 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.567046 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.567054 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.567061 | controller | - ' exit 0' 2025-11-25 10:02:01.567069 | controller | - ' else' 2025-11-25 10:02:01.567076 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.567083 | controller | - ' exit 1' 2025-11-25 10:02:01.567089 | controller | - ' fi' 2025-11-25 10:02:01.567099 | controller | - ' ' 2025-11-25 10:02:01.567104 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.567110 | controller | them with a script' 2025-11-25 10:02:01.567119 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.567125 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.567131 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.567137 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.567143 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.567154 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.567160 | controller | - ' # it is an image' 2025-11-25 10:02:01.567166 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.567171 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.567177 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.567183 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.567189 | controller | - ' case $NAME in' 2025-11-25 10:02:01.567194 | controller | - ' API)' 2025-11-25 10:02:01.567209 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.567215 | controller | - ' ;;' 2025-11-25 10:02:01.567221 | controller | - ' esac' 2025-11-25 10:02:01.567227 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.567233 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.567239 | controller | - ' exit 1' 2025-11-25 10:02:01.567244 | controller | - ' fi' 2025-11-25 10:02:01.567250 | controller | - ' fi' 2025-11-25 10:02:01.567256 | controller | - ' done' 2025-11-25 10:02:01.567262 | controller | - ' ]' 2025-11-25 10:02:01.567268 | controller | - ' logger.go:42: 09:51:29 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.567273 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.567279 | controller | rely on' 2025-11-25 10:02:01.567285 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.567291 | controller | and checks that' 2025-11-25 10:02:01.567297 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.567302 | controller | pattern' 2025-11-25 10:02:01.567308 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.567317 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.567322 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.567328 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.567334 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.567340 | controller | - ' exit 0' 2025-11-25 10:02:01.567346 | controller | - ' else' 2025-11-25 10:02:01.567351 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.567357 | controller | - ' exit 1' 2025-11-25 10:02:01.567363 | controller | - ' fi' 2025-11-25 10:02:01.567369 | controller | - ' ' 2025-11-25 10:02:01.567376 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.567384 | controller | them with a script' 2025-11-25 10:02:01.567391 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.567399 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.567409 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.567417 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.567425 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.567440 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.567447 | controller | - ' # it is an image' 2025-11-25 10:02:01.567452 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.567458 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.567465 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.567472 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.567480 | controller | - ' case $NAME in' 2025-11-25 10:02:01.567487 | controller | - ' API)' 2025-11-25 10:02:01.567494 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.567502 | controller | - ' ;;' 2025-11-25 10:02:01.567510 | controller | - ' esac' 2025-11-25 10:02:01.567517 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.567524 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.567530 | controller | - ' exit 1' 2025-11-25 10:02:01.567536 | controller | - ' fi' 2025-11-25 10:02:01.567542 | controller | - ' fi' 2025-11-25 10:02:01.567548 | controller | - ' done' 2025-11-25 10:02:01.567554 | controller | - ' ]' 2025-11-25 10:02:01.567559 | controller | - ' logger.go:42: 09:51:31 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.567565 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.567571 | controller | rely on' 2025-11-25 10:02:01.567577 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.567582 | controller | and checks that' 2025-11-25 10:02:01.567603 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.567613 | controller | pattern' 2025-11-25 10:02:01.567619 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.567625 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.567630 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.567636 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.567642 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.567648 | controller | - ' exit 0' 2025-11-25 10:02:01.567653 | controller | - ' else' 2025-11-25 10:02:01.567659 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.567665 | controller | - ' exit 1' 2025-11-25 10:02:01.567671 | controller | - ' fi' 2025-11-25 10:02:01.567677 | controller | - ' ' 2025-11-25 10:02:01.567685 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.567692 | controller | them with a script' 2025-11-25 10:02:01.567700 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.567707 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.567725 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.567734 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.567742 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.567761 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.567769 | controller | - ' # it is an image' 2025-11-25 10:02:01.567776 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.567783 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.567792 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.567798 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.567804 | controller | - ' case $NAME in' 2025-11-25 10:02:01.567810 | controller | - ' API)' 2025-11-25 10:02:01.567816 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.567822 | controller | - ' ;;' 2025-11-25 10:02:01.567827 | controller | - ' esac' 2025-11-25 10:02:01.567833 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.567839 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.567845 | controller | - ' exit 1' 2025-11-25 10:02:01.567850 | controller | - ' fi' 2025-11-25 10:02:01.567856 | controller | - ' fi' 2025-11-25 10:02:01.567862 | controller | - ' done' 2025-11-25 10:02:01.567868 | controller | - ' ]' 2025-11-25 10:02:01.567873 | controller | - ' logger.go:42: 09:51:32 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.567879 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.567885 | controller | rely on' 2025-11-25 10:02:01.567891 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.567897 | controller | and checks that' 2025-11-25 10:02:01.567902 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.567908 | controller | pattern' 2025-11-25 10:02:01.567914 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.567920 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.567926 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.567931 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.567937 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.567943 | controller | - ' exit 0' 2025-11-25 10:02:01.567951 | controller | - ' else' 2025-11-25 10:02:01.567957 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.567963 | controller | - ' exit 1' 2025-11-25 10:02:01.567969 | controller | - ' fi' 2025-11-25 10:02:01.567975 | controller | - ' ' 2025-11-25 10:02:01.567980 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.567986 | controller | them with a script' 2025-11-25 10:02:01.567992 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.567998 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.568003 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.568009 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.568015 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.568027 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.568032 | controller | - ' # it is an image' 2025-11-25 10:02:01.568038 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.568045 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.568053 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.568064 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.568070 | controller | - ' case $NAME in' 2025-11-25 10:02:01.568076 | controller | - ' API)' 2025-11-25 10:02:01.568082 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.568087 | controller | - ' ;;' 2025-11-25 10:02:01.568093 | controller | - ' esac' 2025-11-25 10:02:01.568099 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.568105 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.568111 | controller | - ' exit 1' 2025-11-25 10:02:01.568116 | controller | - ' fi' 2025-11-25 10:02:01.568122 | controller | - ' fi' 2025-11-25 10:02:01.568128 | controller | - ' done' 2025-11-25 10:02:01.568134 | controller | - ' ]' 2025-11-25 10:02:01.568140 | controller | - ' logger.go:42: 09:51:33 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.568145 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.568151 | controller | rely on' 2025-11-25 10:02:01.568157 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.568163 | controller | and checks that' 2025-11-25 10:02:01.568169 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.568174 | controller | pattern' 2025-11-25 10:02:01.568180 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.568186 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.568204 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.568211 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.568217 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.568223 | controller | - ' exit 0' 2025-11-25 10:02:01.568228 | controller | - ' else' 2025-11-25 10:02:01.568234 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.568240 | controller | - ' exit 1' 2025-11-25 10:02:01.568246 | controller | - ' fi' 2025-11-25 10:02:01.568252 | controller | - ' ' 2025-11-25 10:02:01.568257 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.568263 | controller | them with a script' 2025-11-25 10:02:01.568269 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.568275 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.568281 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.568286 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.568292 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.568304 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.568310 | controller | - ' # it is an image' 2025-11-25 10:02:01.568315 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.568321 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.568327 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.568333 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.568338 | controller | - ' case $NAME in' 2025-11-25 10:02:01.568344 | controller | - ' API)' 2025-11-25 10:02:01.568350 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.568359 | controller | - ' ;;' 2025-11-25 10:02:01.568365 | controller | - ' esac' 2025-11-25 10:02:01.568371 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.568376 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.568382 | controller | - ' exit 1' 2025-11-25 10:02:01.568388 | controller | - ' fi' 2025-11-25 10:02:01.568394 | controller | - ' fi' 2025-11-25 10:02:01.568399 | controller | - ' done' 2025-11-25 10:02:01.568405 | controller | - ' ]' 2025-11-25 10:02:01.568411 | controller | - ' logger.go:42: 09:51:34 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.568417 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.568423 | controller | rely on' 2025-11-25 10:02:01.568428 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.568434 | controller | and checks that' 2025-11-25 10:02:01.568440 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.568447 | controller | pattern' 2025-11-25 10:02:01.568455 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.568463 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.568470 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.568477 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.568485 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.568492 | controller | - ' exit 0' 2025-11-25 10:02:01.568498 | controller | - ' else' 2025-11-25 10:02:01.568504 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.568510 | controller | - ' exit 1' 2025-11-25 10:02:01.568515 | controller | - ' fi' 2025-11-25 10:02:01.568521 | controller | - ' ' 2025-11-25 10:02:01.568527 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.568533 | controller | them with a script' 2025-11-25 10:02:01.568538 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.568546 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.568554 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.568561 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.568569 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.568603 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.568636 | controller | - ' # it is an image' 2025-11-25 10:02:01.568645 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.568653 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.568661 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.568669 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.568676 | controller | - ' case $NAME in' 2025-11-25 10:02:01.568684 | controller | - ' API)' 2025-11-25 10:02:01.568691 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.568698 | controller | - ' ;;' 2025-11-25 10:02:01.568704 | controller | - ' esac' 2025-11-25 10:02:01.568709 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.568715 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.568721 | controller | - ' exit 1' 2025-11-25 10:02:01.568737 | controller | - ' fi' 2025-11-25 10:02:01.568750 | controller | - ' fi' 2025-11-25 10:02:01.568758 | controller | - ' done' 2025-11-25 10:02:01.568765 | controller | - ' ]' 2025-11-25 10:02:01.568773 | controller | - ' logger.go:42: 09:51:35 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.568780 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.568788 | controller | rely on' 2025-11-25 10:02:01.568795 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.568802 | controller | and checks that' 2025-11-25 10:02:01.568808 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.568815 | controller | pattern' 2025-11-25 10:02:01.568823 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.568830 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.568838 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.568846 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.568853 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.568861 | controller | - ' exit 0' 2025-11-25 10:02:01.568868 | controller | - ' else' 2025-11-25 10:02:01.568876 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.568883 | controller | - ' exit 1' 2025-11-25 10:02:01.568890 | controller | - ' fi' 2025-11-25 10:02:01.568898 | controller | - ' ' 2025-11-25 10:02:01.568905 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.568913 | controller | them with a script' 2025-11-25 10:02:01.568921 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.568928 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.568936 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.568943 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.568950 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.568965 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.568973 | controller | - ' # it is an image' 2025-11-25 10:02:01.568980 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.568996 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.569004 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.569012 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.569019 | controller | - ' case $NAME in' 2025-11-25 10:02:01.569026 | controller | - ' API)' 2025-11-25 10:02:01.569034 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.569041 | controller | - ' ;;' 2025-11-25 10:02:01.569049 | controller | - ' esac' 2025-11-25 10:02:01.569056 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.569063 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.569070 | controller | - ' exit 1' 2025-11-25 10:02:01.569078 | controller | - ' fi' 2025-11-25 10:02:01.569085 | controller | - ' fi' 2025-11-25 10:02:01.569093 | controller | - ' done' 2025-11-25 10:02:01.569100 | controller | - ' ]' 2025-11-25 10:02:01.569108 | controller | - ' logger.go:42: 09:51:37 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.569116 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.569123 | controller | rely on' 2025-11-25 10:02:01.569135 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.569142 | controller | and checks that' 2025-11-25 10:02:01.569150 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.569157 | controller | pattern' 2025-11-25 10:02:01.569165 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.569172 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.569180 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.569187 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.569195 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.569202 | controller | - ' exit 0' 2025-11-25 10:02:01.569210 | controller | - ' else' 2025-11-25 10:02:01.569217 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.569225 | controller | - ' exit 1' 2025-11-25 10:02:01.569232 | controller | - ' fi' 2025-11-25 10:02:01.569244 | controller | - ' ' 2025-11-25 10:02:01.569252 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.569259 | controller | them with a script' 2025-11-25 10:02:01.569267 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.569274 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.569282 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.569289 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.569297 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.569311 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.569326 | controller | - ' # it is an image' 2025-11-25 10:02:01.569334 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.569341 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.569349 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.569356 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.569364 | controller | - ' case $NAME in' 2025-11-25 10:02:01.569375 | controller | - ' API)' 2025-11-25 10:02:01.569383 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.569390 | controller | - ' ;;' 2025-11-25 10:02:01.569397 | controller | - ' esac' 2025-11-25 10:02:01.569405 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.569412 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.569420 | controller | - ' exit 1' 2025-11-25 10:02:01.569428 | controller | - ' fi' 2025-11-25 10:02:01.569435 | controller | - ' fi' 2025-11-25 10:02:01.569443 | controller | - ' done' 2025-11-25 10:02:01.569450 | controller | - ' ]' 2025-11-25 10:02:01.569457 | controller | - ' logger.go:42: 09:51:38 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.569465 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.569472 | controller | rely on' 2025-11-25 10:02:01.569480 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.569487 | controller | and checks that' 2025-11-25 10:02:01.569498 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.569506 | controller | pattern' 2025-11-25 10:02:01.569514 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.569525 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.569533 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.569540 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.569547 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.569555 | controller | - ' exit 0' 2025-11-25 10:02:01.569581 | controller | - ' else' 2025-11-25 10:02:01.569606 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.569618 | controller | - ' exit 1' 2025-11-25 10:02:01.569625 | controller | - ' fi' 2025-11-25 10:02:01.569633 | controller | - ' ' 2025-11-25 10:02:01.569640 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.569647 | controller | them with a script' 2025-11-25 10:02:01.569655 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.569662 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.569670 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.569677 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.569685 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.569700 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.569707 | controller | - ' # it is an image' 2025-11-25 10:02:01.569715 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.569722 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.569730 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.569737 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.569744 | controller | - ' case $NAME in' 2025-11-25 10:02:01.569752 | controller | - ' API)' 2025-11-25 10:02:01.569759 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.569767 | controller | - ' ;;' 2025-11-25 10:02:01.569775 | controller | - ' esac' 2025-11-25 10:02:01.569782 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.569790 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.569797 | controller | - ' exit 1' 2025-11-25 10:02:01.569805 | controller | - ' fi' 2025-11-25 10:02:01.569812 | controller | - ' fi' 2025-11-25 10:02:01.569819 | controller | - ' done' 2025-11-25 10:02:01.569827 | controller | - ' ]' 2025-11-25 10:02:01.569834 | controller | - ' logger.go:42: 09:51:39 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.569842 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.569849 | controller | rely on' 2025-11-25 10:02:01.569857 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.569864 | controller | and checks that' 2025-11-25 10:02:01.569872 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.569879 | controller | pattern' 2025-11-25 10:02:01.569886 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.569894 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.569901 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.569910 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.569928 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.569938 | controller | - ' exit 0' 2025-11-25 10:02:01.569945 | controller | - ' else' 2025-11-25 10:02:01.569959 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.569967 | controller | - ' exit 1' 2025-11-25 10:02:01.569974 | controller | - ' fi' 2025-11-25 10:02:01.569981 | controller | - ' ' 2025-11-25 10:02:01.569989 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.569996 | controller | them with a script' 2025-11-25 10:02:01.570004 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.570011 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.570019 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.570027 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.570034 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.570049 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.570056 | controller | - ' # it is an image' 2025-11-25 10:02:01.570064 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.570072 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.570079 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.570087 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.570094 | controller | - ' case $NAME in' 2025-11-25 10:02:01.570101 | controller | - ' API)' 2025-11-25 10:02:01.570109 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.570116 | controller | - ' ;;' 2025-11-25 10:02:01.570123 | controller | - ' esac' 2025-11-25 10:02:01.570135 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.570143 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.570151 | controller | - ' exit 1' 2025-11-25 10:02:01.570158 | controller | - ' fi' 2025-11-25 10:02:01.570165 | controller | - ' fi' 2025-11-25 10:02:01.570173 | controller | - ' done' 2025-11-25 10:02:01.570180 | controller | - ' ]' 2025-11-25 10:02:01.570188 | controller | - ' logger.go:42: 09:51:40 | fernet_rotation/0-deploy_keystone | running command: 2025-11-25 10:02:01.570195 | controller | [sh -c # the actual addresses of the apiEndpoints are platform specific, so we can''t 2025-11-25 10:02:01.570202 | controller | rely on' 2025-11-25 10:02:01.570210 | controller | - ' # kuttl asserts to check them. This short script gathers the addresses 2025-11-25 10:02:01.570218 | controller | and checks that' 2025-11-25 10:02:01.570225 | controller | - ' # the three endpoints are defined and their addresses follow the default 2025-11-25 10:02:01.570233 | controller | pattern' 2025-11-25 10:02:01.570240 | controller | - ' template=''{{.status.apiEndpoints.internal}}{{":"}}{{.status.apiEndpoints.public}}{{"\n"}}''' 2025-11-25 10:02:01.570248 | controller | - ' regex="http:\/\/keystone-internal.$NAMESPACE.*:http:\/\/keystone-public.$NAMESPACE.*"' 2025-11-25 10:02:01.570255 | controller | - ' apiEndpoints=$(oc get -n $NAMESPACE KeystoneAPI keystone -o go-template="$template")' 2025-11-25 10:02:01.570263 | controller | - ' matches=$(echo "$apiEndpoints" | sed -e "s?$regex??")' 2025-11-25 10:02:01.570270 | controller | - ' if [ -z "$matches" ]; then' 2025-11-25 10:02:01.570278 | controller | - ' exit 0' 2025-11-25 10:02:01.570285 | controller | - ' else' 2025-11-25 10:02:01.570292 | controller | - ' echo "Endpoints URLS: $apiEndpoints do not match regex"' 2025-11-25 10:02:01.570300 | controller | - ' exit 1' 2025-11-25 10:02:01.570307 | controller | - ' fi' 2025-11-25 10:02:01.570315 | controller | - ' ' 2025-11-25 10:02:01.570325 | controller | - ' # when using image digests the containerImage URLs are SHA''s so we verify 2025-11-25 10:02:01.570331 | controller | them with a script' 2025-11-25 10:02:01.570337 | controller | - ' tupleTemplate=''{{ range (index .spec.template.spec.containers 0).env }}{{ 2025-11-25 10:02:01.570343 | controller | .name }}{{ "#" }}{{ .value}}{{"\n"}}{{ end }}''' 2025-11-25 10:02:01.570348 | controller | - ' imageTuples=$(oc get -n openstack-operators deployment keystone-operator-controller-manager 2025-11-25 10:02:01.570354 | controller | -o go-template="$tupleTemplate")' 2025-11-25 10:02:01.570360 | controller | - ' # format of imageTuple is: RELATED_IMAGE_KEYSTONE_# separated by newlines' 2025-11-25 10:02:01.570372 | controller | - ' for ITEM in $(echo $imageTuples); do' 2025-11-25 10:02:01.570378 | controller | - ' # it is an image' 2025-11-25 10:02:01.570383 | controller | - ' if echo $ITEM | grep ''RELATED_IMAGE'' &> /dev/null; then' 2025-11-25 10:02:01.570389 | controller | - ' NAME=$(echo $ITEM | sed -e ''s|^RELATED_IMAGE_KEYSTONE_\([^_]*\)_.*|\1|'')' 2025-11-25 10:02:01.570395 | controller | - ' IMG_FROM_ENV=$(echo $ITEM | sed -e ''s|^.*#\(.*\)|\1|'')' 2025-11-25 10:02:01.570401 | controller | - ' template=''{{.spec.containerImage}}''' 2025-11-25 10:02:01.570407 | controller | - ' case $NAME in' 2025-11-25 10:02:01.570412 | controller | - ' API)' 2025-11-25 10:02:01.570418 | controller | - ' SERVICE_IMAGE=$(oc get -n $NAMESPACE keystoneapi keystone -o go-template="$template")' 2025-11-25 10:02:01.570424 | controller | - ' ;;' 2025-11-25 10:02:01.570430 | controller | - ' esac' 2025-11-25 10:02:01.570436 | controller | - ' if [ "$SERVICE_IMAGE" != "$IMG_FROM_ENV" ]; then' 2025-11-25 10:02:01.570442 | controller | - ' echo "$NAME image does not equal $VALUE"' 2025-11-25 10:02:01.570447 | controller | - ' exit 1' 2025-11-25 10:02:01.570453 | controller | - ' fi' 2025-11-25 10:02:01.570459 | controller | - ' fi' 2025-11-25 10:02:01.570465 | controller | - ' done' 2025-11-25 10:02:01.570471 | controller | - ' ]' 2025-11-25 10:02:01.570476 | controller | - ' logger.go:42: 09:51:40 | fernet_rotation/0-deploy_keystone | test step completed 2025-11-25 10:02:01.570482 | controller | 0-deploy_keystone' 2025-11-25 10:02:01.570492 | controller | - ' logger.go:42: 09:51:40 | fernet_rotation/1-deploy_openstackclient | starting 2025-11-25 10:02:01.570499 | controller | test step 1-deploy_openstackclient' 2025-11-25 10:02:01.570505 | controller | - ' logger.go:42: 09:51:40 | fernet_rotation/1-deploy_openstackclient | Pod:keystone-kuttl-tests/openstackclient 2025-11-25 10:02:01.570511 | controller | created' 2025-11-25 10:02:01.570517 | controller | - ' logger.go:42: 09:51:40 | fernet_rotation/1-deploy_openstackclient | running 2025-11-25 10:02:01.570523 | controller | command: [sh -c ../../common/scripts/create_test_token.sh]' 2025-11-25 10:02:01.570529 | controller | - ' logger.go:42: 09:51:40 | fernet_rotation/1-deploy_openstackclient | + oc wait 2025-11-25 10:02:01.570535 | controller | --for=condition=ready pod openstackclient --timeout=30s -n keystone-kuttl-tests' 2025-11-25 10:02:01.570541 | controller | - ' logger.go:42: 09:51:49 | fernet_rotation/1-deploy_openstackclient | pod/openstackclient 2025-11-25 10:02:01.570547 | controller | condition met' 2025-11-25 10:02:01.570552 | controller | - ' logger.go:42: 09:51:49 | fernet_rotation/1-deploy_openstackclient | + alias 2025-11-25 10:02:01.570558 | controller | ''openstack=oc exec -tn keystone-kuttl-tests openstackclient -- openstack''' 2025-11-25 10:02:01.570564 | controller | - ' logger.go:42: 09:51:49 | fernet_rotation/1-deploy_openstackclient | ++ oc exec 2025-11-25 10:02:01.570570 | controller | -tn keystone-kuttl-tests openstackclient -- openstack token issue -f value -c id' 2025-11-25 10:02:01.570575 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | + export 2025-11-25 10:02:01.570581 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.570606 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | + OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.570621 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | + echo 2025-11-25 10:02:01.570627 | controller | gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.570633 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/1-deploy_openstackclient | test step 2025-11-25 10:02:01.570639 | controller | completed 1-deploy_openstackclient' 2025-11-25 10:02:01.570645 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | starting test step 2025-11-25 10:02:01.570651 | controller | 2-rotate_keys' 2025-11-25 10:02:01.570657 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | Secret:keystone-kuttl-tests/keystone 2025-11-25 10:02:01.570662 | controller | updated' 2025-11-25 10:02:01.570668 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | running command: [sh 2025-11-25 10:02:01.570674 | controller | -c ../../common/scripts/validate_test_token.sh]' 2025-11-25 10:02:01.570680 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + seconds=1' 2025-11-25 10:02:01.570685 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + ''['' 1 -le 30 '']''' 2025-11-25 10:02:01.570691 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | ++ oc get secret keystone 2025-11-25 10:02:01.570697 | controller | -n keystone-kuttl-tests -o ''jsonpath={.metadata.annotations[''\''''keystone\.openstack\.org/rotatedat''\'''']}''' 2025-11-25 10:02:01.570703 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + rotatedat=2025-11-25T09:51:54Z' 2025-11-25 10:02:01.570709 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + ''['' 2025-11-25T09:51:54Z 2025-11-25 10:02:01.570714 | controller | ''!='' 2009-11-10T23:00:00Z '']''' 2025-11-25 10:02:01.570720 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + break' 2025-11-25 10:02:01.570726 | controller | - ' logger.go:42: 09:51:54 | fernet_rotation/2-rotate_keys | + sleep 60' 2025-11-25 10:02:01.570732 | controller | - ' logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | ++ cat /tmp/temporary_test_token' 2025-11-25 10:02:01.570738 | controller | - ' logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | + export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.570744 | controller | - ' logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | + OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.570750 | controller | - ' logger.go:42: 09:52:54 | fernet_rotation/2-rotate_keys | ++ oc exec -tn keystone-kuttl-tests 2025-11-25 10:02:01.570756 | controller | openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.570769 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.570776 | controller | openstack endpoint list' 2025-11-25 10:02:01.570782 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | ++ true' 2025-11-25 10:02:01.570788 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | + output=''The service 2025-11-25 10:02:01.570794 | controller | catalog is empty.' 2025-11-25 10:02:01.570799 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | command terminated 2025-11-25 10:02:01.570809 | controller | with exit code 1''' 2025-11-25 10:02:01.570815 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | + echo ''The service 2025-11-25 10:02:01.570820 | controller | catalog is empty.' 2025-11-25 10:02:01.570826 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | command terminated 2025-11-25 10:02:01.570832 | controller | with exit code 1''' 2025-11-25 10:02:01.570838 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | + grep -qi ''Could 2025-11-25 10:02:01.570844 | controller | not recognize Fernet token''' 2025-11-25 10:02:01.570850 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | + exit 0' 2025-11-25 10:02:01.570858 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/2-rotate_keys | test step completed 2025-11-25 10:02:01.570864 | controller | 2-rotate_keys' 2025-11-25 10:02:01.570870 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | starting 2025-11-25 10:02:01.570876 | controller | test step 3-rotate_keys_until_invalidate' 2025-11-25 10:02:01.570881 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.570887 | controller | command: [sh -c ../../common/scripts/rotate_token.sh]' 2025-11-25 10:02:01.570893 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.570899 | controller | TMP_SECRET_FILE=/tmp/keystone-secret.yaml' 2025-11-25 10:02:01.570904 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.570910 | controller | for rotation in {1..5}' 2025-11-25 10:02:01.570916 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.570922 | controller | echo ''Starting rotation 1...''' 2025-11-25 10:02:01.570927 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 10:02:01.570933 | controller | rotation 1...' 2025-11-25 10:02:01.570939 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.570945 | controller | generate_secret_yaml' 2025-11-25 10:02:01.570950 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.570956 | controller | cat' 2025-11-25 10:02:01.570962 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.570968 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 10:02:01.570974 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | Warning: 2025-11-25 10:02:01.570979 | controller | resource secrets/keystone is missing the kubectl.kubernetes.io/last-applied-configuration 2025-11-25 10:02:01.570985 | controller | annotation which is required by oc apply. oc apply should only be used on resources 2025-11-25 10:02:01.570991 | controller | created declaratively by either oc create --save-config or oc apply. The missing 2025-11-25 10:02:01.570997 | controller | annotation will be patched automatically.' 2025-11-25 10:02:01.571002 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone 2025-11-25 10:02:01.571008 | controller | configured' 2025-11-25 10:02:01.571014 | controller | - ' logger.go:42: 09:52:57 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571020 | controller | sleep 100' 2025-11-25 10:02:01.571025 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571031 | controller | echo ''Rotation 1 completed successfully.''' 2025-11-25 10:02:01.571037 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2025-11-25 10:02:01.571043 | controller | 1 completed successfully.' 2025-11-25 10:02:01.571049 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571057 | controller | for rotation in {1..5}' 2025-11-25 10:02:01.571065 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571078 | controller | echo ''Starting rotation 2...''' 2025-11-25 10:02:01.571094 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 10:02:01.571102 | controller | rotation 2...' 2025-11-25 10:02:01.571109 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571117 | controller | generate_secret_yaml' 2025-11-25 10:02:01.571123 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571129 | controller | cat' 2025-11-25 10:02:01.571135 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571140 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 10:02:01.571146 | controller | - ' logger.go:42: 09:54:37 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone 2025-11-25 10:02:01.571152 | controller | configured' 2025-11-25 10:02:01.571158 | controller | - ' logger.go:42: 09:54:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571164 | controller | sleep 100' 2025-11-25 10:02:01.571169 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571175 | controller | echo ''Rotation 2 completed successfully.''' 2025-11-25 10:02:01.571185 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2025-11-25 10:02:01.571191 | controller | 2 completed successfully.' 2025-11-25 10:02:01.571197 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571203 | controller | for rotation in {1..5}' 2025-11-25 10:02:01.571209 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571215 | controller | echo ''Starting rotation 3...''' 2025-11-25 10:02:01.571220 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 10:02:01.571226 | controller | rotation 3...' 2025-11-25 10:02:01.571232 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571238 | controller | generate_secret_yaml' 2025-11-25 10:02:01.571243 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571249 | controller | cat' 2025-11-25 10:02:01.571255 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571261 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 10:02:01.571267 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone 2025-11-25 10:02:01.571272 | controller | configured' 2025-11-25 10:02:01.571278 | controller | - ' logger.go:42: 09:56:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571284 | controller | sleep 100' 2025-11-25 10:02:01.571290 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571295 | controller | echo ''Rotation 3 completed successfully.''' 2025-11-25 10:02:01.571301 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2025-11-25 10:02:01.571307 | controller | 3 completed successfully.' 2025-11-25 10:02:01.571313 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571318 | controller | for rotation in {1..5}' 2025-11-25 10:02:01.571324 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571330 | controller | echo ''Starting rotation 4...''' 2025-11-25 10:02:01.571336 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 10:02:01.571342 | controller | rotation 4...' 2025-11-25 10:02:01.571347 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571353 | controller | generate_secret_yaml' 2025-11-25 10:02:01.571359 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571368 | controller | cat' 2025-11-25 10:02:01.571374 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571379 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 10:02:01.571385 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone 2025-11-25 10:02:01.571391 | controller | configured' 2025-11-25 10:02:01.571397 | controller | - ' logger.go:42: 09:57:58 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571403 | controller | sleep 100' 2025-11-25 10:02:01.571408 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571414 | controller | echo ''Rotation 4 completed successfully.''' 2025-11-25 10:02:01.571420 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2025-11-25 10:02:01.571426 | controller | 4 completed successfully.' 2025-11-25 10:02:01.571431 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571437 | controller | for rotation in {1..5}' 2025-11-25 10:02:01.571443 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571449 | controller | echo ''Starting rotation 5...''' 2025-11-25 10:02:01.571455 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | Starting 2025-11-25 10:02:01.571460 | controller | rotation 5...' 2025-11-25 10:02:01.571466 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571472 | controller | generate_secret_yaml' 2025-11-25 10:02:01.571478 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571483 | controller | cat' 2025-11-25 10:02:01.571489 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571495 | controller | oc apply -f /tmp/keystone-secret.yaml' 2025-11-25 10:02:01.571501 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | secret/keystone 2025-11-25 10:02:01.571506 | controller | configured' 2025-11-25 10:02:01.571515 | controller | - ' logger.go:42: 09:59:38 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571521 | controller | sleep 100' 2025-11-25 10:02:01.571527 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571533 | controller | echo ''Rotation 5 completed successfully.''' 2025-11-25 10:02:01.571538 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | Rotation 2025-11-25 10:02:01.571544 | controller | 5 completed successfully.' 2025-11-25 10:02:01.571550 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571556 | controller | rm -f /tmp/keystone-secret.yaml' 2025-11-25 10:02:01.571562 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571567 | controller | echo ''All rotations completed successfully.''' 2025-11-25 10:02:01.571573 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | All 2025-11-25 10:02:01.571579 | controller | rotations completed successfully.' 2025-11-25 10:02:01.571602 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571614 | controller | exit 0' 2025-11-25 10:02:01.571620 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.571626 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.571631 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571637 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.571643 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571649 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.571658 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571664 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.571670 | controller | - ' logger.go:42: 10:01:18 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571676 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.571682 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.571688 | controller | openstack endpoint list' 2025-11-25 10:02:01.571694 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571700 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.571709 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.571715 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.571720 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571726 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.571732 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.571738 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.571744 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571749 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.571755 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571761 | controller | filtered_output=' 2025-11-25 10:02:01.571767 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571773 | controller | echo ''''' 2025-11-25 10:02:01.571778 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571784 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.571790 | controller | - ' logger.go:42: 10:01:20 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571796 | controller | exit 1' 2025-11-25 10:02:01.571802 | controller | - ' logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.571808 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.571813 | controller | - ' logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571819 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.571825 | controller | - ' logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571831 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.571837 | controller | - ' logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571842 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.571848 | controller | - ' logger.go:42: 10:01:21 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571857 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.571867 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.571873 | controller | openstack endpoint list' 2025-11-25 10:02:01.571878 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571884 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.571894 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.571900 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.571906 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571912 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.571918 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.571924 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.571929 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.571935 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.571944 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571950 | controller | filtered_output=' 2025-11-25 10:02:01.571956 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571961 | controller | echo ''''' 2025-11-25 10:02:01.571967 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571973 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.571979 | controller | - ' logger.go:42: 10:01:23 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.571984 | controller | exit 1' 2025-11-25 10:02:01.571990 | controller | - ' logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.571996 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.572002 | controller | - ' logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572008 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.572014 | controller | - ' logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572019 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572025 | controller | - ' logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572031 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572037 | controller | - ' logger.go:42: 10:01:24 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572043 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.572048 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.572054 | controller | openstack endpoint list' 2025-11-25 10:02:01.572060 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572066 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.572072 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572077 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572083 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572092 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.572097 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572104 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572110 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572117 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572123 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572129 | controller | filtered_output=' 2025-11-25 10:02:01.572136 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572142 | controller | echo ''''' 2025-11-25 10:02:01.572149 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572155 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572161 | controller | - ' logger.go:42: 10:01:26 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572168 | controller | exit 1' 2025-11-25 10:02:01.572174 | controller | - ' logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.572181 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.572269 | controller | - ' logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572275 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.572282 | controller | - ' logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572289 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572296 | controller | - ' logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572308 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572316 | controller | - ' logger.go:42: 10:01:27 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572324 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.572332 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.572339 | controller | openstack endpoint list' 2025-11-25 10:02:01.572346 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572354 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.572361 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572369 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572376 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572384 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.572391 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572398 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572404 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572410 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572418 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572425 | controller | filtered_output=' 2025-11-25 10:02:01.572433 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572445 | controller | echo ''''' 2025-11-25 10:02:01.572453 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572460 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572472 | controller | - ' logger.go:42: 10:01:28 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572479 | controller | exit 1' 2025-11-25 10:02:01.572486 | controller | - ' logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.572493 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.572500 | controller | - ' logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572508 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.572515 | controller | - ' logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572523 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572531 | controller | - ' logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572538 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572546 | controller | - ' logger.go:42: 10:01:29 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572553 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.572561 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.572568 | controller | openstack endpoint list' 2025-11-25 10:02:01.572574 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572579 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.572614 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572628 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572635 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572643 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.572650 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572657 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572665 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572672 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572680 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572687 | controller | filtered_output=' 2025-11-25 10:02:01.572695 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572702 | controller | echo ''''' 2025-11-25 10:02:01.572710 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572723 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572731 | controller | - ' logger.go:42: 10:01:31 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572739 | controller | exit 1' 2025-11-25 10:02:01.572746 | controller | - ' logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.572753 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.572761 | controller | - ' logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572774 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.572782 | controller | - ' logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572793 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572801 | controller | - ' logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572809 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.572817 | controller | - ' logger.go:42: 10:01:32 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572824 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.572832 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.572839 | controller | openstack endpoint list' 2025-11-25 10:02:01.572847 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572854 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.572861 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572869 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572876 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572884 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572892 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.572899 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.572907 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.572914 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.572922 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572929 | controller | filtered_output=' 2025-11-25 10:02:01.572940 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572948 | controller | echo ''''' 2025-11-25 10:02:01.572955 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572963 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.572970 | controller | - ' logger.go:42: 10:01:34 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.572978 | controller | exit 1' 2025-11-25 10:02:01.572985 | controller | - ' logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.572991 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.572997 | controller | - ' logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573003 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.573012 | controller | - ' logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573018 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573024 | controller | - ' logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573029 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573042 | controller | - ' logger.go:42: 10:01:35 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573048 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.573054 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.573060 | controller | openstack endpoint list' 2025-11-25 10:02:01.573066 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573072 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.573082 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573088 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573094 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573100 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.573106 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573112 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573118 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573124 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573130 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573135 | controller | filtered_output=' 2025-11-25 10:02:01.573141 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573147 | controller | echo ''''' 2025-11-25 10:02:01.573153 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573159 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573164 | controller | - ' logger.go:42: 10:01:36 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573170 | controller | exit 1' 2025-11-25 10:02:01.573176 | controller | - ' logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.573182 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.573188 | controller | - ' logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573193 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.573199 | controller | - ' logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573205 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573211 | controller | - ' logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573217 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573222 | controller | - ' logger.go:42: 10:01:37 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573228 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.573234 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.573240 | controller | openstack endpoint list' 2025-11-25 10:02:01.573245 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573251 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.573260 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573266 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573272 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573278 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.573284 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573290 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573296 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573302 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573307 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573313 | controller | filtered_output=' 2025-11-25 10:02:01.573320 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573326 | controller | echo ''''' 2025-11-25 10:02:01.573332 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573338 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573344 | controller | - ' logger.go:42: 10:01:39 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573350 | controller | exit 1' 2025-11-25 10:02:01.573355 | controller | - ' logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.573361 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.573367 | controller | - ' logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573373 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.573378 | controller | - ' logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573384 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573390 | controller | - ' logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573400 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573406 | controller | - ' logger.go:42: 10:01:40 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573412 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.573418 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.573424 | controller | openstack endpoint list' 2025-11-25 10:02:01.573449 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573455 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.573461 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573467 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573473 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573479 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.573485 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573490 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573496 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573502 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573511 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573517 | controller | filtered_output=' 2025-11-25 10:02:01.573522 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573528 | controller | echo ''''' 2025-11-25 10:02:01.573534 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573540 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573545 | controller | - ' logger.go:42: 10:01:41 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573551 | controller | exit 1' 2025-11-25 10:02:01.573557 | controller | - ' logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.573581 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.573604 | controller | - ' logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573614 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.573620 | controller | - ' logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573625 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573631 | controller | - ' logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573637 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573643 | controller | - ' logger.go:42: 10:01:42 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573649 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.573655 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.573660 | controller | openstack endpoint list' 2025-11-25 10:02:01.573666 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573672 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.573678 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573683 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573689 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573695 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.573701 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573706 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573712 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573718 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573724 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573730 | controller | filtered_output=' 2025-11-25 10:02:01.573735 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573741 | controller | echo ''''' 2025-11-25 10:02:01.573748 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573760 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573769 | controller | - ' logger.go:42: 10:01:44 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573776 | controller | exit 1' 2025-11-25 10:02:01.573784 | controller | - ' logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.573795 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.573801 | controller | - ' logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573806 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.573812 | controller | - ' logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573818 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573824 | controller | - ' logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573830 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.573835 | controller | - ' logger.go:42: 10:01:45 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573842 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.573854 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.573862 | controller | openstack endpoint list' 2025-11-25 10:02:01.573870 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573878 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.573889 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573895 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573901 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573907 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.573915 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.573921 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.573927 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.573933 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573941 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573949 | controller | filtered_output=' 2025-11-25 10:02:01.573956 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573964 | controller | echo ''''' 2025-11-25 10:02:01.573971 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573979 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.573986 | controller | - ' logger.go:42: 10:01:47 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.573994 | controller | exit 1' 2025-11-25 10:02:01.574001 | controller | - ' logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.574009 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.574016 | controller | - ' logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574022 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.574029 | controller | - ' logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574037 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.574044 | controller | - ' logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574056 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.574064 | controller | - ' logger.go:42: 10:01:48 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574071 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.574079 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.574086 | controller | openstack endpoint list' 2025-11-25 10:02:01.574094 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574101 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.574113 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.574119 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.574127 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574134 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.574142 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.574150 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.574157 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574165 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.574172 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574180 | controller | filtered_output=' 2025-11-25 10:02:01.574187 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574194 | controller | echo ''''' 2025-11-25 10:02:01.574202 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574209 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.574217 | controller | - ' logger.go:42: 10:01:49 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574225 | controller | exit 1' 2025-11-25 10:02:01.574232 | controller | - ' logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.574240 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.574247 | controller | - ' logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574255 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.574262 | controller | - ' logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574269 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.574277 | controller | - ' logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574289 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.574297 | controller | - ' logger.go:42: 10:01:50 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574305 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.574312 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.574324 | controller | openstack endpoint list' 2025-11-25 10:02:01.574335 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574342 | controller | output=''The service catalog is empty.' 2025-11-25 10:02:01.574349 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.574357 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.574364 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574372 | controller | echo ''The service catalog is empty.' 2025-11-25 10:02:01.574379 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.574387 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.574394 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574402 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.574410 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574417 | controller | filtered_output=' 2025-11-25 10:02:01.574428 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574436 | controller | echo ''''' 2025-11-25 10:02:01.574443 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574450 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.574458 | controller | - ' logger.go:42: 10:01:52 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574465 | controller | exit 1' 2025-11-25 10:02:01.574473 | controller | - ' logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | running 2025-11-25 10:02:01.574481 | controller | command: [sh -c ../../common/scripts/test_invalid_token.sh]' 2025-11-25 10:02:01.574488 | controller | - ' logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574496 | controller | cat /tmp/temporary_test_token' 2025-11-25 10:02:01.574503 | controller | - ' logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574514 | controller | export OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.574526 | controller | - ' logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574534 | controller | OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I' 2025-11-25 10:02:01.574541 | controller | - ' logger.go:42: 10:01:53 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574548 | controller | oc exec -tn keystone-kuttl-tests openstackclient -- env -u OS_CLOUD - OS_AUTH_URL=http://keystone-public.keystone-kuttl-tests.svc:5000 2025-11-25 10:02:01.574556 | controller | OS_AUTH_TYPE=token OS_TOKEN=gAAAAABpJXw5i1rZXma_rVoFGoP2ZhotSvWJ57wE8QIlgmzdKnRWixLp05OwuAekDvLxqykxW9-2aTYaJhYKDZHVAaSmtolCdWOIV1oWixOCtSYdHuciXDHQI-x51NabXKqbN1fKDmCwr12056iycMOrXIoS_hooljEXRPuFI_wLLPPMd2X9P-I 2025-11-25 10:02:01.574564 | controller | openstack endpoint list' 2025-11-25 10:02:01.574571 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574579 | controller | output=''Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)' 2025-11-25 10:02:01.574586 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.574625 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.574633 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574641 | controller | echo ''Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)' 2025-11-25 10:02:01.574653 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | command 2025-11-25 10:02:01.574660 | controller | terminated with exit code 1''' 2025-11-25 10:02:01.574668 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | ++ 2025-11-25 10:02:01.574675 | controller | grep -i ''Could not recognize Fernet token''' 2025-11-25 10:02:01.574682 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574689 | controller | filtered_output=''Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)''' 2025-11-25 10:02:01.574697 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574704 | controller | grep -q ''Could not recognize Fernet token''' 2025-11-25 10:02:01.574712 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574719 | controller | echo ''Could not recognize Fernet token (HTTP 404) (Request-ID: req-3906e407-74d2-498a-b817-1e878bd0a6e3)''' 2025-11-25 10:02:01.574727 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | + 2025-11-25 10:02:01.574734 | controller | exit 0' 2025-11-25 10:02:01.574746 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/3-rotate_keys_until_invalidate | test 2025-11-25 10:02:01.574753 | controller | step completed 3-rotate_keys_until_invalidate' 2025-11-25 10:02:01.574760 | controller | - ' logger.go:42: 10:01:55 | fernet_rotation/4-cleanup-openstackclient | starting 2025-11-25 10:02:01.574767 | controller | test step 4-cleanup-openstackclient' 2025-11-25 10:02:01.574775 | controller | - ' logger.go:42: 10:01:56 | fernet_rotation/4-cleanup-openstackclient | test step 2025-11-25 10:02:01.574782 | controller | completed 4-cleanup-openstackclient' 2025-11-25 10:02:01.574789 | controller | - ' logger.go:42: 10:01:56 | fernet_rotation/5-cleanup-keystone | starting test 2025-11-25 10:02:01.574797 | controller | step 5-cleanup-keystone' 2025-11-25 10:02:01.574804 | controller | - ' case.go:396: failed in step 5-cleanup-keystone' 2025-11-25 10:02:01.574811 | controller | - ' case.go:398: Get "https://api.crc.testing:6443/apis/keystone.openstack.org/v1beta1/namespaces/keystone-kuttl-tests/keystoneapis/keystone": 2025-11-25 10:02:01.574819 | controller | dial tcp 38.102.83.5:6443: connect: connection refused' 2025-11-25 10:02:01.574827 | controller | - ' logger.go:42: 10:02:01 | fernet_rotation | skipping kubernetes event logging' 2025-11-25 10:02:01.574834 | controller | - ' step.go:213: Delete "https://api.crc.testing:6443/api/v1/namespaces/keystone-kuttl-tests/pods/openstackclient": 2025-11-25 10:02:01.574842 | controller | dial tcp 38.102.83.5:6443: connect: connection refused' 2025-11-25 10:02:01.574850 | controller | - ' step.go:213: Delete "https://api.crc.testing:6443/apis/keystone.openstack.org/v1beta1/namespaces/keystone-kuttl-tests/keystoneapis/keystone": 2025-11-25 10:02:01.574858 | controller | dial tcp 38.102.83.5:6443: connect: connection refused' 2025-11-25 10:02:01.574865 | controller | - === NAME kuttl 2025-11-25 10:02:01.574873 | controller | - ' harness.go:406: run tests finished' 2025-11-25 10:02:01.574880 | controller | - ' harness.go:514: cleaning up' 2025-11-25 10:02:01.574887 | controller | - ' harness.go:571: removing temp folder: ""' 2025-11-25 10:02:01.574895 | controller | - '--- FAIL: kuttl (963.06s)' 2025-11-25 10:02:01.574902 | controller | - ' --- FAIL: kuttl/harness (0.00s)' 2025-11-25 10:02:01.574910 | controller | - ' --- PASS: kuttl/harness/change_keystone_config (70.68s)' 2025-11-25 10:02:01.574918 | controller | - ' --- PASS: kuttl/harness/keystone_scale (90.56s)' 2025-11-25 10:02:01.574926 | controller | - ' --- PASS: kuttl/harness/keystone_tls (60.23s)' 2025-11-25 10:02:01.574934 | controller | - ' --- PASS: kuttl/harness/keystone_resources (68.82s)' 2025-11-25 10:02:01.574941 | controller | - ' --- FAIL: kuttl/harness/fernet_rotation (672.76s)' 2025-11-25 10:02:01.574948 | controller | - FAIL 2025-11-25 10:02:01.574956 | controller | - 'make[1]: *** [Makefile:1807: keystone_kuttl_run] Error 1' 2025-11-25 10:02:01.574976 | controller | - 'make[1]: Leaving directory ''/home/zuul/src/github.com/openstack-k8s-operators/install_yamls''' 2025-11-25 10:02:01.611205 | controller | - 'make: *** [Makefile:1816: keystone_kuttl] Error 2' 2025-11-25 10:02:01.611287 | controller | ...ignoring 2025-11-25 10:02:01.634156 | controller | 2025-11-25 10:02:01.634212 | controller | TASK [Get resource status after keystone_kuttl run _raw_params={{ item }} >> {{ cifmw_artifacts_basedir }}/logs/cmd_after_{{ operator }}_kuttl.log 2025-11-25 10:02:01.634228 | controller | ] *** 2025-11-25 10:02:01.634235 | controller | Tuesday 25 November 2025 10:02:01 +0000 (0:20:37.738) 0:23:23.665 ****** 2025-11-25 10:02:01.634242 | controller | Tuesday 25 November 2025 10:02:01 +0000 (0:20:37.738) 0:23:23.663 ****** 2025-11-25 10:02:01.634255 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:58 2025-11-25 10:02:01.818567 | controller | fatal: [localhost]: FAILED! => 2025-11-25 10:02:01.818644 | controller | msg: '''commands_after_kuttl_run'' is undefined. ''commands_after_kuttl_run'' is undefined' 2025-11-25 10:02:01.818652 | controller | ...ignoring 2025-11-25 10:02:01.818659 | controller | 2025-11-25 10:02:01.818665 | controller | TASK [Find the generated JUnitXML files paths={{ cifmw_installyamls_repos }}, file_type=file, patterns=*.xml] *** 2025-11-25 10:02:01.818672 | controller | Tuesday 25 November 2025 10:02:01 +0000 (0:00:00.022) 0:23:23.688 ****** 2025-11-25 10:02:01.818678 | controller | Tuesday 25 November 2025 10:02:01 +0000 (0:00:00.022) 0:23:23.686 ****** 2025-11-25 10:02:01.818691 | controller | ok: [localhost] 2025-11-25 10:02:02.026840 | controller | 2025-11-25 10:02:02.026939 | controller | TASK [Create the test results directory path={{ _kuttl_test_result_dir }}, state=directory, mode=0755] *** 2025-11-25 10:02:02.026948 | controller | Tuesday 25 November 2025 10:02:01 +0000 (0:00:00.184) 0:23:23.872 ****** 2025-11-25 10:02:02.026955 | controller | Tuesday 25 November 2025 10:02:01 +0000 (0:00:00.184) 0:23:23.871 ****** 2025-11-25 10:02:02.026972 | controller | changed: [localhost] 2025-11-25 10:02:02.668581 | controller | 2025-11-25 10:02:02.668704 | controller | TASK [Copy the generated test results to the test results directory src={{ item.path }}, dest={{ _kuttl_test_result_dir }}, mode=0644] *** 2025-11-25 10:02:02.668735 | controller | Tuesday 25 November 2025 10:02:02 +0000 (0:00:00.208) 0:23:24.081 ****** 2025-11-25 10:02:02.668755 | controller | Tuesday 25 November 2025 10:02:02 +0000 (0:00:00.208) 0:23:24.079 ****** 2025-11-25 10:02:02.668782 | controller | changed: [localhost] => (item={'path': '/home/zuul/src/github.com/openstack-k8s-operators/install_yamls/kuttl-report-keystone.xml', 'mode': '0644', 'isdir': False, 'ischr': False, 'isblk': False, 'isreg': True, 'isfifo': False, 'islnk': False, 'issock': False, 'uid': 1000, 'gid': 1000, 'size': 1271, 'inode': 33737041, 'dev': 64513, 'nlink': 1, 'atime': 1764064921.191647, 'mtime': 1764064921.191647, 'ctime': 1764064921.191647, 'gr_name': 'zuul', 'pw_name': 'zuul', 'wusr': True, 'rusr': True, 'xusr': False, 'wgrp': False, 'rgrp': True, 'xgrp': False, 'woth': False, 'roth': True, 'xoth': False, 'isuid': False, 'isgid': False}) 2025-11-25 10:02:02.726736 | controller | 2025-11-25 10:02:02.726789 | controller | TASK [Fail when any tests failed that=['_kuttl_curr_operator_result.rc == 0'], success_msg=KUTTL tests for {{ operator }} passed, fail_msg=KUTTL tests for {{ operator }} failed] *** 2025-11-25 10:02:02.726801 | controller | Tuesday 25 November 2025 10:02:02 +0000 (0:00:00.641) 0:23:24.722 ****** 2025-11-25 10:02:02.726811 | controller | Tuesday 25 November 2025 10:02:02 +0000 (0:00:00.641) 0:23:24.721 ****** 2025-11-25 10:02:02.726836 | controller | task path: /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run-kuttl-tests.yml:96 2025-11-25 10:02:02.726846 | controller | fatal: [localhost]: FAILED! => 2025-11-25 10:02:02.726855 | controller | assertion: _kuttl_curr_operator_result.rc == 0 2025-11-25 10:02:02.726864 | controller | changed: false 2025-11-25 10:02:02.726873 | controller | evaluated_to: false 2025-11-25 10:02:02.726882 | controller | msg: KUTTL tests for keystone failed 2025-11-25 10:02:02.726891 | controller | 2025-11-25 10:02:02.726900 | controller | NO MORE HOSTS LEFT ************************************************************* 2025-11-25 10:02:02.726916 | controller | 2025-11-25 10:02:02.726925 | controller | PLAY RECAP ********************************************************************* 2025-11-25 10:02:02.726933 | controller | localhost : ok=109 changed=50 unreachable=0 failed=1 skipped=60 rescued=0 ignored=5 2025-11-25 10:02:02.726942 | controller | 2025-11-25 10:02:02.726951 | controller | Tuesday 25 November 2025 10:02:02 +0000 (0:00:00.057) 0:23:24.779 ****** 2025-11-25 10:02:02.726960 | controller | =============================================================================== 2025-11-25 10:02:02.726968 | controller | install_yamls_makes : Run keystone_kuttl ----------------------------- 1237.74s 2025-11-25 10:02:02.726977 | controller | install_yamls_makes : Run download_tools ------------------------------- 48.58s 2025-11-25 10:02:02.726986 | controller | ci_setup : Install needed packages ------------------------------------- 32.12s 2025-11-25 10:02:02.726995 | controller | ci_local_storage : Remove the cifmw_cls_namespace namespace ------------ 11.20s 2025-11-25 10:02:02.727003 | controller | repo_setup : Initialize python venv and install requirements ------------ 9.67s 2025-11-25 10:02:02.727012 | controller | ci_setup : Install openshift client ------------------------------------- 5.54s 2025-11-25 10:02:02.727021 | controller | ci_local_storage : Perform action in the PV directory ------------------- 5.43s 2025-11-25 10:02:02.727030 | controller | install_yamls_makes : Run crc_attach_default_interface ------------------ 5.20s 2025-11-25 10:02:02.727038 | controller | ci_local_storage : Perform action in the PV directory ------------------- 5.14s 2025-11-25 10:02:02.727047 | controller | ci_local_storage : Fetch hostnames for all hosts ------------------------ 3.04s 2025-11-25 10:02:02.727056 | controller | ci_local_storage : Fetch hostnames for all hosts ------------------------ 1.96s 2025-11-25 10:02:02.727064 | controller | openshift_setup : Create required namespaces ---------------------------- 1.90s 2025-11-25 10:02:02.727073 | controller | install_ca : Update ca bundle ------------------------------------------- 1.71s 2025-11-25 10:02:02.727082 | controller | ci_setup : Manage directories ------------------------------------------- 1.20s 2025-11-25 10:02:02.727090 | controller | ci_local_storage : Get k8s nodes ---------------------------------------- 1.18s 2025-11-25 10:02:02.727099 | controller | openshift_setup : Patch network operator -------------------------------- 1.10s 2025-11-25 10:02:02.727108 | controller | openshift_setup : Gather network.operator info -------------------------- 1.07s 2025-11-25 10:02:02.727116 | controller | repo_setup : Make sure git-core package is installed -------------------- 1.04s 2025-11-25 10:02:02.727125 | controller | Gathering Facts --------------------------------------------------------- 0.98s 2025-11-25 10:02:02.727134 | controller | ci_local_storage : Save storage manifests as artifacts ------------------ 0.95s 2025-11-25 10:02:02.727142 | controller | Tuesday 25 November 2025 10:02:02 +0000 (0:00:00.058) 0:23:24.779 ****** 2025-11-25 10:02:02.727151 | controller | =============================================================================== 2025-11-25 10:02:02.727160 | controller | install_yamls_makes -------------------------------------------------- 1291.73s 2025-11-25 10:02:02.727168 | controller | ci_setup --------------------------------------------------------------- 40.32s 2025-11-25 10:02:02.727177 | controller | ci_local_storage ------------------------------------------------------- 33.91s 2025-11-25 10:02:02.727186 | controller | repo_setup ------------------------------------------------------------- 18.64s 2025-11-25 10:02:02.727195 | controller | openshift_setup --------------------------------------------------------- 5.59s 2025-11-25 10:02:02.727207 | controller | openshift_login --------------------------------------------------------- 4.27s 2025-11-25 10:02:02.727216 | controller | install_yamls ----------------------------------------------------------- 3.75s 2025-11-25 10:02:02.727225 | controller | install_ca -------------------------------------------------------------- 2.20s 2025-11-25 10:02:02.727233 | controller | gather_facts ------------------------------------------------------------ 0.98s 2025-11-25 10:02:02.727242 | controller | cifmw_setup ------------------------------------------------------------- 0.74s 2025-11-25 10:02:02.727256 | controller | ansible.builtin.copy ---------------------------------------------------- 0.64s 2025-11-25 10:02:02.727265 | controller | discover_latest_image --------------------------------------------------- 0.60s 2025-11-25 10:02:02.727274 | controller | ansible.builtin.include_role -------------------------------------------- 0.34s 2025-11-25 10:02:02.727283 | controller | run_hook ---------------------------------------------------------------- 0.27s 2025-11-25 10:02:02.727291 | controller | ansible.builtin.file ---------------------------------------------------- 0.21s 2025-11-25 10:02:02.727300 | controller | ansible.builtin.find ---------------------------------------------------- 0.18s 2025-11-25 10:02:02.727309 | controller | ansible.builtin.set_fact ------------------------------------------------ 0.13s 2025-11-25 10:02:02.727317 | controller | ansible.builtin.include_tasks ------------------------------------------- 0.07s 2025-11-25 10:02:02.727326 | controller | ansible.builtin.include_vars -------------------------------------------- 0.06s 2025-11-25 10:02:02.727335 | controller | ansible.builtin.assert -------------------------------------------------- 0.06s 2025-11-25 10:02:02.727348 | controller | ansible.builtin.shell --------------------------------------------------- 0.05s 2025-11-25 10:02:02.840693 | controller | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-11-25 10:02:02.840840 | controller | total ---------------------------------------------------------------- 1404.74s 2025-11-25 10:02:03.060550 | controller | ERROR 2025-11-25 10:02:03.060711 | controller | { 2025-11-25 10:02:03.060744 | controller | "delta": "0:23:25.761364", 2025-11-25 10:02:03.060764 | controller | "end": "2025-11-25 10:02:02.843387", 2025-11-25 10:02:03.060782 | controller | "msg": "non-zero return code", 2025-11-25 10:02:03.060800 | controller | "rc": 2, 2025-11-25 10:02:03.060817 | controller | "start": "2025-11-25 09:38:37.082023" 2025-11-25 10:02:03.060833 | controller | } failure 2025-11-25 10:02:03.183851 | 2025-11-25 10:02:03.183991 | PLAY RECAP 2025-11-25 10:02:03.184054 | controller | ok: 0 changed: 0 unreachable: 0 failed: 1 skipped: 0 rescued: 0 ignored: 0 2025-11-25 10:02:03.184097 | 2025-11-25 10:02:03.349566 | RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/kuttl/run.yml@main] 2025-11-25 10:02:03.353262 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml@main] 2025-11-25 10:02:04.032736 | 2025-11-25 10:02:04.032840 | PLAY [Run ci/playbooks/e2e-collect-logs.yml] 2025-11-25 10:02:04.104238 | 2025-11-25 10:02:04.104375 | TASK [Filter out host if needed] 2025-11-25 10:02:04.115940 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 10:02:04.122899 | 2025-11-25 10:02:04.122966 | TASK [Filter out host if needed] 2025-11-25 10:02:04.138069 | 2025-11-25 10:02:04.138161 | TASK [Ensure we have the ci-framework on host] 2025-11-25 10:02:04.724177 | controller | ok 2025-11-25 10:02:04.744128 | 2025-11-25 10:02:04.744266 | TASK [End host if no basedir] 2025-11-25 10:02:04.755572 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 10:02:04.773222 | 2025-11-25 10:02:04.773406 | TASK [Read base centos-9 scenarios] 2025-11-25 10:02:04.801214 | controller | ok 2025-11-25 10:02:04.899175 | 2025-11-25 10:02:04.899316 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 10:02:04.964122 | controller | skipping: Conditional result was False 2025-11-25 10:02:04.974385 | 2025-11-25 10:02:04.974501 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 10:02:05.232166 | controller | ok 2025-11-25 10:02:05.275148 | 2025-11-25 10:02:05.275276 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 10:02:05.300476 | controller | skipping: Conditional result was False 2025-11-25 10:02:05.310423 | 2025-11-25 10:02:05.310514 | TASK [cifmw_helpers : Read vars] 2025-11-25 10:02:05.344271 | 2025-11-25 10:02:05.344447 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 10:02:05.387391 | 2025-11-25 10:02:05.387538 | TASK [cifmw_helpers : Include vars] 2025-11-25 10:02:05.420386 | 2025-11-25 10:02:05.420548 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 10:02:05.446168 | controller | skipping: Conditional result was False 2025-11-25 10:02:05.467373 | 2025-11-25 10:02:05.467523 | TASK [run_hook : Assert parameters are valid] 2025-11-25 10:02:05.533792 | controller | ok: All assertions passed 2025-11-25 10:02:05.542816 | 2025-11-25 10:02:05.542934 | TASK [run_hook : Assert single hooks are all mappings] 2025-11-25 10:02:05.636361 | controller | ok: All assertions passed 2025-11-25 10:02:05.654016 | 2025-11-25 10:02:05.654193 | LOOP [run_hook : Loop on hooks for pre_logs] 2025-11-25 10:02:05.739014 | 2025-11-25 10:02:05.739229 | TASK [cifmw_setup : Ensure cifmw_basedir param is set] 2025-11-25 10:02:05.781526 | controller | ok 2025-11-25 10:02:05.787661 | 2025-11-25 10:02:05.787757 | TASK [Read artifacts parameters dir and set as facts] 2025-11-25 10:02:05.808251 | controller | ok 2025-11-25 10:02:05.830524 | 2025-11-25 10:02:05.830636 | TASK [cifmw_helpers : Check directory is available] 2025-11-25 10:02:06.080373 | controller | ok 2025-11-25 10:02:06.093974 | 2025-11-25 10:02:06.094078 | TASK [cifmw_helpers : Find yaml files] 2025-11-25 10:02:06.421914 | controller | ok: All paths examined 2025-11-25 10:02:06.430541 | 2025-11-25 10:02:06.430615 | TASK [cifmw_helpers : Print available yaml files] 2025-11-25 10:02:06.477321 | controller | ok: Found yaml files to parse: ['/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml', '/home/zuul/ci-framework-data/artifacts/parameters/install-yamls-params.yml', '/home/zuul/ci-framework-data/artifacts/parameters/custom-params.yml', '/home/zuul/ci-framework-data/artifacts/parameters/openshift-login-params.yml'] 2025-11-25 10:02:06.483460 | 2025-11-25 10:02:06.483524 | LOOP [cifmw_helpers : Create files on localhost and use include_vars] 2025-11-25 10:02:06.513735 | controller | Output suppressed because no_log was given 2025-11-25 10:02:06.513988 | 2025-11-25 10:02:06.521522 | controller | Output suppressed because no_log was given 2025-11-25 10:02:06.528512 | controller | Output suppressed because no_log was given 2025-11-25 10:02:06.534107 | controller | Output suppressed because no_log was given 2025-11-25 10:02:06.552407 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 10:02:06.557517 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 10:02:06.562133 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 10:02:06.566665 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/cifmw_helpers/tasks/include_file.yml 2025-11-25 10:02:06.575212 | 2025-11-25 10:02:06.575276 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 10:02:06.603828 | controller | skipping: Conditional result was False 2025-11-25 10:02:06.612625 | 2025-11-25 10:02:06.612722 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 10:02:06.867875 | controller | ok 2025-11-25 10:02:06.874670 | 2025-11-25 10:02:06.874750 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 10:02:07.373327 | controller -> localhost | changed 2025-11-25 10:02:07.380531 | 2025-11-25 10:02:07.380597 | TASK [cifmw_helpers : Read vars] 2025-11-25 10:02:07.797309 | controller | Output suppressed because no_log was given 2025-11-25 10:02:07.806608 | 2025-11-25 10:02:07.806723 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 10:02:08.587296 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:08.601592 | 2025-11-25 10:02:08.601765 | TASK [cifmw_helpers : Include vars] 2025-11-25 10:02:08.662864 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:08.671914 | 2025-11-25 10:02:08.672008 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 10:02:09.089870 | controller | ok 2025-11-25 10:02:09.109381 | 2025-11-25 10:02:09.109508 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 10:02:09.144958 | controller | skipping: Conditional result was False 2025-11-25 10:02:09.155135 | 2025-11-25 10:02:09.155225 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 10:02:09.446297 | controller | ok 2025-11-25 10:02:09.464166 | 2025-11-25 10:02:09.464297 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 10:02:09.705896 | controller -> localhost | changed 2025-11-25 10:02:09.713619 | 2025-11-25 10:02:09.713731 | TASK [cifmw_helpers : Read vars] 2025-11-25 10:02:09.930910 | controller | Output suppressed because no_log was given 2025-11-25 10:02:09.944517 | 2025-11-25 10:02:09.944661 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 10:02:10.358359 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:10.366866 | 2025-11-25 10:02:10.366970 | TASK [cifmw_helpers : Include vars] 2025-11-25 10:02:10.411556 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:10.418825 | 2025-11-25 10:02:10.418924 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 10:02:10.673496 | controller | ok 2025-11-25 10:02:10.679667 | 2025-11-25 10:02:10.679765 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 10:02:10.711177 | controller | skipping: Conditional result was False 2025-11-25 10:02:10.768262 | 2025-11-25 10:02:10.768403 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 10:02:11.027261 | controller | ok 2025-11-25 10:02:11.037576 | 2025-11-25 10:02:11.037673 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 10:02:11.309362 | controller -> localhost | changed 2025-11-25 10:02:11.319820 | 2025-11-25 10:02:11.319913 | TASK [cifmw_helpers : Read vars] 2025-11-25 10:02:11.589738 | controller | Output suppressed because no_log was given 2025-11-25 10:02:11.604088 | 2025-11-25 10:02:11.604180 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 10:02:12.042219 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:12.050759 | 2025-11-25 10:02:12.050833 | TASK [cifmw_helpers : Include vars] 2025-11-25 10:02:12.085747 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:12.092828 | 2025-11-25 10:02:12.092895 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 10:02:12.381548 | controller | ok 2025-11-25 10:02:12.402385 | 2025-11-25 10:02:12.402592 | TASK [cifmw_helpers : Fail if file is not yaml or yml extension] 2025-11-25 10:02:12.432104 | controller | skipping: Conditional result was False 2025-11-25 10:02:12.452093 | 2025-11-25 10:02:12.452268 | TASK [cifmw_helpers : Check if file is available] 2025-11-25 10:02:12.733265 | controller | ok 2025-11-25 10:02:12.743378 | 2025-11-25 10:02:12.743470 | TASK [cifmw_helpers : Create temporary directory] 2025-11-25 10:02:12.993755 | controller -> localhost | changed 2025-11-25 10:02:13.004594 | 2025-11-25 10:02:13.004708 | TASK [cifmw_helpers : Read vars] 2025-11-25 10:02:13.320652 | controller | Output suppressed because no_log was given 2025-11-25 10:02:13.345421 | 2025-11-25 10:02:13.345571 | TASK [cifmw_helpers : Create new variable files with content] 2025-11-25 10:02:13.803378 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:13.813846 | 2025-11-25 10:02:13.814007 | TASK [cifmw_helpers : Include vars] 2025-11-25 10:02:13.850548 | controller -> localhost | Output suppressed because no_log was given 2025-11-25 10:02:13.869816 | 2025-11-25 10:02:13.869916 | TASK [cifmw_helpers : Remove temporary directory] 2025-11-25 10:02:14.146510 | controller | ok 2025-11-25 10:02:14.171953 | 2025-11-25 10:02:14.172093 | TASK [cifmw_setup : Set custom cifmw PATH reusable fact] 2025-11-25 10:02:14.221545 | controller | skipping: Conditional result was False 2025-11-25 10:02:14.228302 | 2025-11-25 10:02:14.228367 | TASK [cifmw_setup : Set destination folder for the logs] 2025-11-25 10:02:14.268525 | controller | ok 2025-11-25 10:02:14.278523 | 2025-11-25 10:02:14.278586 | TASK [artifacts : Verify if "success" flag exists after successful tests execution] 2025-11-25 10:02:14.541413 | controller | ok 2025-11-25 10:02:14.556828 | 2025-11-25 10:02:14.556948 | TASK [artifacts : Ensure we have at least minimal ansible facts] 2025-11-25 10:02:15.516099 | controller | ok 2025-11-25 10:02:15.526866 | 2025-11-25 10:02:15.526981 | LOOP [artifacts : Ensure base directory exists] 2025-11-25 10:02:15.812346 | controller | ok: "artifacts" 2025-11-25 10:02:16.046509 | controller | ok: "logs" 2025-11-25 10:02:16.074889 | 2025-11-25 10:02:16.075161 | TASK [artifacts : Load generated hook environment for further usage] 2025-11-25 10:02:16.122643 | controller | ERROR 2025-11-25 10:02:16.123100 | controller | { 2025-11-25 10:02:16.123163 | controller | "ansible_facts": {}, 2025-11-25 10:02:16.123205 | controller | "ansible_included_var_files": [], 2025-11-25 10:02:16.123256 | controller | "message": "/home/zuul/ci-framework-data/artifacts directory does not exist" 2025-11-25 10:02:16.123316 | controller | } 2025-11-25 10:02:16.123399 | controller | ERROR: Ignoring Errors 2025-11-25 10:02:16.138661 | 2025-11-25 10:02:16.138863 | TASK [artifacts : Gather parameter passed to the playbook] 2025-11-25 10:02:17.093774 | controller | changed 2025-11-25 10:02:17.100561 | 2025-11-25 10:02:17.100745 | TASK [artifacts : Gather facts] 2025-11-25 10:02:17.895575 | controller | changed 2025-11-25 10:02:17.911573 | 2025-11-25 10:02:17.911763 | TASK [artifacts : Copy some network configuration files] 2025-11-25 10:02:18.502360 | controller | changed 2025-11-25 10:02:18.515989 | 2025-11-25 10:02:18.516119 | TASK [artifacts : Get installed packages list] 2025-11-25 10:02:19.590070 | controller | ok 2025-11-25 10:02:19.653502 | 2025-11-25 10:02:19.653772 | TASK [artifacts : Output package list] 2025-11-25 10:02:20.497654 | controller | changed 2025-11-25 10:02:20.525126 | 2025-11-25 10:02:20.525297 | LOOP [artifacts : Cleanup unnecesary directories] 2025-11-25 10:02:21.010417 | controller | changed: "/home/zuul/ci-framework-data/artifacts/manifests/operator" 2025-11-25 10:02:21.010773 | controller | ok: All items complete 2025-11-25 10:02:21.010814 | 2025-11-25 10:02:21.078961 | 2025-11-25 10:02:21.079143 | TASK [os_must_gather : Ensure directories are present] 2025-11-25 10:02:21.420351 | controller | changed 2025-11-25 10:02:21.446262 | 2025-11-25 10:02:21.446373 | LOOP [os_must_gather : Construct project change list] 2025-11-25 10:02:21.570453 | controller | ok: 2025-11-25 10:02:21.570629 | controller | { 2025-11-25 10:02:21.570694 | controller | "branch": "main", 2025-11-25 10:02:21.570728 | controller | "change": "567", 2025-11-25 10:02:21.570755 | controller | "change_message": "AppCred controller support\n\nJira: [OSPRH-14737](https://issues.redhat.com/browse/OSPRH-14737)\r\n\r\nThis PR introduces a new ApplicationCredential (AC) controller in the keystone-operator. It watches `ApplicationCredential` custom resources and performs these actions:\r\n\r\n1. Creates Keystone ApplicationCredentials for each CR (authenticating as that user due to Keystone\u2019s default policy)\r\n2. Stores the AC\u2019s ID and Secret in a k8s secret\r\n3. Implements rotation logic based on `expirationDays` and `gracePeriodDays`:\r\n - Reconciles at least once a day, rotating any AC that\u2019s within or past its grace window\r\n - If an AC is already in the grace period at the next reconcile, it rotates immediately\r\n - The old ApplicationCredential in Keystone is *not revoked* on rotation (it naturally expires)\r\n\r\nAdditionally:\r\n- The controller waits for a `KeystoneAPI` resource to be `Ready` before proceeding with AC operations\r\n\r\nNotes:\r\n- CRD & RBAC for the `ApplicationCredential` resource are not automatically installed yet. These must be applied manually until openstack-operator integration is complete\r\n\r\nTo apply rbac permissions run `oc edit clusterrole keystone-operator-manager-role` and add:\r\n```\r\n- apiGroups:\r\n - keystone.openstack.org\r\n resources:\r\n - applicationcredentials\r\n verbs:\r\n - create\r\n - delete\r\n - get\r\n - list\r\n - patch\r\n - update\r\n - watch\r\n\r\n- apiGroups:\r\n - keystone.openstack.org\r\n resources:\r\n - applicationcredentials/finalizers\r\n verbs:\r\n - patch\r\n - update\r\n\r\n- apiGroups:\r\n - keystone.openstack.org\r\n resources:\r\n - applicationcredentials/status\r\n verbs:\r\n - get\r\n - patch\r\n - update\r\n```\r\nExample AC CR for barbican service user:\r\n```\r\napiVersion: keystone.openstack.org/v1beta1\r\nkind: ApplicationCredential\r\nmetadata:\r\n name: ac-barbican\r\n namespace: openstack\r\nspec:\r\n expirationDays: 365\r\n gracePeriodDays: 182\r\n passwordSelector: BarbicanPassword\r\n roles:\r\n - service\r\n secret: osp-secret\r\n userName: barbican\r\n\r\n```", 2025-11-25 10:02:21.570784 | controller | "change_url": "https://github.com/openstack-k8s-operators/keystone-operator/pull/567", 2025-11-25 10:02:21.570810 | controller | "commit_id": "aab5cfe1d4a691d84a96189c698c58d261af9e66", 2025-11-25 10:02:21.570835 | controller | "patchset": "aab5cfe1d4a691d84a96189c698c58d261af9e66", 2025-11-25 10:02:21.570859 | controller | "project": { 2025-11-25 10:02:21.570883 | controller | "canonical_hostname": "github.com", 2025-11-25 10:02:21.570906 | controller | "canonical_name": "github.com/openstack-k8s-operators/keystone-operator", 2025-11-25 10:02:21.570930 | controller | "name": "openstack-k8s-operators/keystone-operator", 2025-11-25 10:02:21.570953 | controller | "short_name": "keystone-operator", 2025-11-25 10:02:21.570975 | controller | "src_dir": "src/github.com/openstack-k8s-operators/keystone-operator" 2025-11-25 10:02:21.570998 | controller | }, 2025-11-25 10:02:21.571020 | controller | "topic": null 2025-11-25 10:02:21.571042 | controller | } 2025-11-25 10:02:21.634618 | 2025-11-25 10:02:21.634793 | TASK [os_must_gather : Get git tag for image tagging] 2025-11-25 10:02:22.263988 | controller | skipping: Conditional result was False 2025-11-25 10:02:22.295298 | 2025-11-25 10:02:22.295537 | TASK [os_must_gather : Debug git show-ref] 2025-11-25 10:02:22.321723 | controller | skipping: Conditional result was False 2025-11-25 10:02:22.355037 | 2025-11-25 10:02:22.355184 | TASK [os_must_gather : Build openstack-must-gather container] 2025-11-25 10:02:22.390997 | controller | skipping: Conditional result was False 2025-11-25 10:02:22.417154 | 2025-11-25 10:02:22.417296 | TASK [os_must_gather : Push openstack-must-gather container] 2025-11-25 10:02:22.442887 | controller | skipping: Conditional result was False 2025-11-25 10:02:22.464640 | 2025-11-25 10:02:22.464781 | TASK [os_must_gather : Set cifmw_os_must_gather_image to new image tag] 2025-11-25 10:02:22.490591 | controller | skipping: Conditional result was False 2025-11-25 10:02:22.512199 | 2025-11-25 10:02:22.512303 | TASK [os_must_gather : Check for oc command] 2025-11-25 10:02:23.043656 | controller | changed 2025-11-25 10:02:23.110709 | 2025-11-25 10:02:23.110835 | TASK [os_must_gather : Check if kubeconfig exists] 2025-11-25 10:02:23.429554 | controller | ok 2025-11-25 10:02:23.448933 | 2025-11-25 10:02:23.449025 | TASK [os_must_gather : Run openstack-must-gather command] 2025-11-25 10:02:25.184737 | controller | changed 2025-11-25 10:02:25.220624 | 2025-11-25 10:02:25.220791 | TASK [os_must_gather : Find existing os-must-gather directories] 2025-11-25 10:02:25.559943 | controller | ok: All paths examined 2025-11-25 10:02:25.591608 | 2025-11-25 10:02:25.591775 | TASK [os_must_gather : Create a symlink to newest os-must-gather directory] 2025-11-25 10:02:25.650203 | controller | ERROR 2025-11-25 10:02:25.650405 | controller | { 2025-11-25 10:02:25.650434 | controller | "msg": "The task includes an option with an undefined variable. The error was: Unable to look up a name or access an attribute in template string ({{ (_os_gather_latest_dir.files | sort(attribute='mtime', reverse=True) | first).path | basename }}).\nMake sure your variable name does not contain invalid characters like '-': expected str, bytes or os.PathLike object, not AnsibleUndefined. expected str, bytes or os.PathLike object, not AnsibleUndefined. Unable to look up a name or access an attribute in template string ({{ (_os_gather_latest_dir.files | sort(attribute='mtime', reverse=True) | first).path | basename }}).\nMake sure your variable name does not contain invalid characters like '-': expected str, bytes or os.PathLike object, not AnsibleUndefined. expected str, bytes or os.PathLike object, not AnsibleUndefined\n\nThe error appears to be in '/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/roles/os_must_gather/tasks/main.yml': line 95, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: Create a symlink to newest os-must-gather directory\n ^ here\n" 2025-11-25 10:02:25.650456 | controller | } 2025-11-25 10:02:25.650479 | controller | ERROR: Ignoring Errors 2025-11-25 10:02:25.690202 | 2025-11-25 10:02:25.690461 | TASK [artifacts : Create crc logs directory] 2025-11-25 10:02:25.952603 | controller | changed 2025-11-25 10:02:25.971370 | 2025-11-25 10:02:25.971474 | TASK [artifacts : Ensure controller knows CRC ssh keys] 2025-11-25 10:02:26.649258 | controller | changed 2025-11-25 10:02:26.693080 | 2025-11-25 10:02:26.693264 | TASK [artifacts : Recognize new keypair] 2025-11-25 10:02:26.995496 | controller | ok 2025-11-25 10:02:27.024389 | 2025-11-25 10:02:27.024567 | TASK [artifacts : Set fact if new keypair exists] 2025-11-25 10:02:27.069479 | controller | skipping: Conditional result was False 2025-11-25 10:02:27.111787 | 2025-11-25 10:02:27.111929 | TASK [artifacts : Prepare root ssh accesses] 2025-11-25 10:02:30.320315 | controller | changed 2025-11-25 10:02:30.357240 | 2025-11-25 10:02:30.357383 | TASK [artifacts : Copy logs from CRC VM] 2025-11-25 10:02:33.116746 | controller | changed 2025-11-25 10:02:33.141113 | 2025-11-25 10:02:33.141261 | TASK [artifacts : List all of the existing virtual machines] 2025-11-25 10:02:33.177355 | controller | skipping: Conditional result was False 2025-11-25 10:02:33.200359 | 2025-11-25 10:02:33.200588 | TASK [artifacts : Filter out edpm vm] 2025-11-25 10:02:33.226652 | controller | skipping: Conditional result was False 2025-11-25 10:02:33.256162 | 2025-11-25 10:02:33.256320 | TASK [artifacts : Slurp zuul inventory file] 2025-11-25 10:02:33.533209 | controller | ok 2025-11-25 10:02:33.558380 | 2025-11-25 10:02:33.558499 | LOOP [artifacts : Extract Compute and Networker from zuul mapping if any] 2025-11-25 10:02:33.615575 | 2025-11-25 10:02:33.615766 | LOOP [artifacts : Generate logs on edpm vm {{ item.split('/')[0] }}] 2025-11-25 10:02:33.666388 | 2025-11-25 10:02:33.666586 | LOOP [artifacts : Copy logs to host machine from {{ item.split('/')[0] }}] 2025-11-25 10:02:33.714292 | 2025-11-25 10:02:33.714469 | TASK [artifacts : Generate list of ansible logs to collect in home directory] 2025-11-25 10:02:33.968064 | controller | ok: All paths examined 2025-11-25 10:02:34.000124 | 2025-11-25 10:02:34.000319 | LOOP [artifacts : Copy ansible logs to logs directory] 2025-11-25 10:02:34.429803 | controller | changed: 2025-11-25 10:02:34.430005 | controller | { 2025-11-25 10:02:34.430045 | controller | "atime": 1764063478.8926027, 2025-11-25 10:02:34.430072 | controller | "ctime": 1764064922.7246869, 2025-11-25 10:02:34.430095 | controller | "dev": 64513, 2025-11-25 10:02:34.430115 | controller | "gid": 1000, 2025-11-25 10:02:34.430132 | controller | "gr_name": "zuul", 2025-11-25 10:02:34.430147 | controller | "inode": 4676106, 2025-11-25 10:02:34.430163 | controller | "isblk": false, 2025-11-25 10:02:34.430178 | controller | "ischr": false, 2025-11-25 10:02:34.430193 | controller | "isdir": false, 2025-11-25 10:02:34.430208 | controller | "isfifo": false, 2025-11-25 10:02:34.430222 | controller | "isgid": false, 2025-11-25 10:02:34.430237 | controller | "islnk": false, 2025-11-25 10:02:34.430252 | controller | "isreg": true, 2025-11-25 10:02:34.430266 | controller | "issock": false, 2025-11-25 10:02:34.430280 | controller | "isuid": false, 2025-11-25 10:02:34.430294 | controller | "mode": "0644", 2025-11-25 10:02:34.430308 | controller | "mtime": 1764064922.7246869, 2025-11-25 10:02:34.430325 | controller | "nlink": 1, 2025-11-25 10:02:34.430345 | controller | "path": "/home/zuul/ansible.log", 2025-11-25 10:02:34.430368 | controller | "pw_name": "zuul", 2025-11-25 10:02:34.430387 | controller | "rgrp": true, 2025-11-25 10:02:34.430405 | controller | "roth": true, 2025-11-25 10:02:34.430421 | controller | "rusr": true, 2025-11-25 10:02:34.430437 | controller | "size": 1403506, 2025-11-25 10:02:34.430453 | controller | "uid": 1000, 2025-11-25 10:02:34.430469 | controller | "wgrp": false, 2025-11-25 10:02:34.430486 | controller | "woth": false, 2025-11-25 10:02:34.430501 | controller | "wusr": true, 2025-11-25 10:02:34.430518 | controller | "xgrp": false, 2025-11-25 10:02:34.430534 | controller | "xoth": false, 2025-11-25 10:02:34.430549 | controller | "xusr": false 2025-11-25 10:02:34.430565 | controller | } 2025-11-25 10:02:34.430591 | 2025-11-25 10:02:34.474463 | 2025-11-25 10:02:34.474669 | TASK [artifacts : Ensure we have proper rights on the gathered content] 2025-11-25 10:02:36.164869 | controller | changed 2025-11-25 10:02:36.209921 | 2025-11-25 10:02:36.210099 | LOOP [artifacts : Mask secrets in yaml log files] 2025-11-25 10:02:46.764205 | controller | changed: "/home/zuul/ci-framework-data/logs" 2025-11-25 10:02:47.433554 | controller | changed: "/home/zuul/ci-framework-data/artifacts" 2025-11-25 10:02:47.551178 | 2025-11-25 10:02:47.551310 | LOOP [env_op_images : Ensure directory is present] 2025-11-25 10:02:47.856759 | controller | ok: "artifacts" 2025-11-25 10:02:47.857308 | controller | changed: All items complete 2025-11-25 10:02:47.857371 | 2025-11-25 10:02:48.086382 | controller | ok: "logs" 2025-11-25 10:02:48.116737 | 2025-11-25 10:02:48.116886 | TASK [env_op_images : Check if OpenStackControlPlane is setup] 2025-11-25 10:02:48.678232 | controller | error: the server doesn't have a resource type "OpenStackControlPlane" 2025-11-25 10:02:48.750525 | controller | changed: non-zero return code 2025-11-25 10:02:48.790441 | 2025-11-25 10:02:48.790599 | TASK [env_op_images : Get images from the CSV] 2025-11-25 10:02:49.469150 | controller | skipping: Conditional result was False 2025-11-25 10:02:49.507088 | 2025-11-25 10:02:49.507306 | TASK [env_op_images : Get the images name] 2025-11-25 10:02:50.148675 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.199178 | 2025-11-25 10:02:50.199376 | TASK [env_op_images : Extract env variable name and images] 2025-11-25 10:02:50.235239 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.270665 | 2025-11-25 10:02:50.270835 | TASK [env_op_images : Get all pods from all namespaces to find openstack-operator-index] 2025-11-25 10:02:50.306909 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.385162 | 2025-11-25 10:02:50.385285 | TASK [env_op_images : Retrieve openstack-operator-index pod] 2025-11-25 10:02:50.420181 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.441279 | 2025-11-25 10:02:50.441387 | TASK [env_op_images : Get all the pods in openstack-operator namespace] 2025-11-25 10:02:50.476420 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.498968 | 2025-11-25 10:02:50.499085 | TASK [env_op_images : Get operator images and pods] 2025-11-25 10:02:50.534560 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.560541 | 2025-11-25 10:02:50.560726 | LOOP [env_op_images : Add operator images to the dictionary] 2025-11-25 10:02:50.620080 | 2025-11-25 10:02:50.620277 | TASK [env_op_images : Write images to file] 2025-11-25 10:02:50.655170 | controller | skipping: Conditional result was False 2025-11-25 10:02:50.694445 | 2025-11-25 10:02:50.694565 | TASK [cifmw_setup : Create a versioned log folder] 2025-11-25 10:02:51.001011 | controller | changed 2025-11-25 10:02:51.027796 | 2025-11-25 10:02:51.027919 | TASK [cifmw_setup : Return a list of log files in home directory] 2025-11-25 10:02:51.308585 | controller | ok: All paths examined 2025-11-25 10:02:51.327041 | 2025-11-25 10:02:51.327117 | TASK [cifmw_setup : Ensure ansible facts cache exists] 2025-11-25 10:02:51.616684 | controller | ok 2025-11-25 10:02:51.635791 | 2025-11-25 10:02:51.635873 | LOOP [cifmw_setup : Copy logs to proper location] 2025-11-25 10:02:52.161765 | controller | changed: 2025-11-25 10:02:52.162040 | controller | { 2025-11-25 10:02:52.162095 | controller | "atime": 1764064954.3245118, 2025-11-25 10:02:52.162135 | controller | "ctime": 1764064922.7246869, 2025-11-25 10:02:52.162171 | controller | "dev": 64513, 2025-11-25 10:02:52.162207 | controller | "gid": 1000, 2025-11-25 10:02:52.162242 | controller | "gr_name": "zuul", 2025-11-25 10:02:52.162276 | controller | "inode": 4676106, 2025-11-25 10:02:52.162309 | controller | "isblk": false, 2025-11-25 10:02:52.162342 | controller | "ischr": false, 2025-11-25 10:02:52.162375 | controller | "isdir": false, 2025-11-25 10:02:52.162407 | controller | "isfifo": false, 2025-11-25 10:02:52.162438 | controller | "isgid": false, 2025-11-25 10:02:52.162470 | controller | "islnk": false, 2025-11-25 10:02:52.162501 | controller | "isreg": true, 2025-11-25 10:02:52.162533 | controller | "issock": false, 2025-11-25 10:02:52.162566 | controller | "isuid": false, 2025-11-25 10:02:52.162600 | controller | "mode": "0644", 2025-11-25 10:02:52.162632 | controller | "mtime": 1764064922.7246869, 2025-11-25 10:02:52.162670 | controller | "nlink": 1, 2025-11-25 10:02:52.162714 | controller | "path": "/home/zuul/ansible.log", 2025-11-25 10:02:52.162795 | controller | "pw_name": "zuul", 2025-11-25 10:02:52.162834 | controller | "rgrp": true, 2025-11-25 10:02:52.162868 | controller | "roth": true, 2025-11-25 10:02:52.162913 | controller | "rusr": true, 2025-11-25 10:02:52.162948 | controller | "size": 1403506, 2025-11-25 10:02:52.162982 | controller | "uid": 1000, 2025-11-25 10:02:52.163015 | controller | "wgrp": false, 2025-11-25 10:02:52.163049 | controller | "woth": false, 2025-11-25 10:02:52.163082 | controller | "wusr": true, 2025-11-25 10:02:52.163116 | controller | "xgrp": false, 2025-11-25 10:02:52.163149 | controller | "xoth": false, 2025-11-25 10:02:52.163181 | controller | "xusr": false 2025-11-25 10:02:52.163215 | controller | } 2025-11-25 10:02:52.163265 | 2025-11-25 10:02:52.261696 | 2025-11-25 10:02:52.261858 | LOOP [cifmw_setup : Remove original log from home directory] 2025-11-25 10:02:52.611843 | controller | changed: 2025-11-25 10:02:52.612175 | controller | { 2025-11-25 10:02:52.612251 | controller | "atime": 1764064954.3245118, 2025-11-25 10:02:52.612306 | controller | "ctime": 1764064922.7246869, 2025-11-25 10:02:52.612876 | controller | "dev": 64513, 2025-11-25 10:02:52.612992 | controller | "gid": 1000, 2025-11-25 10:02:52.613053 | controller | "gr_name": "zuul", 2025-11-25 10:02:52.613108 | controller | "inode": 4676106, 2025-11-25 10:02:52.613160 | controller | "isblk": false, 2025-11-25 10:02:52.613212 | controller | "ischr": false, 2025-11-25 10:02:52.613264 | controller | "isdir": false, 2025-11-25 10:02:52.613316 | controller | "isfifo": false, 2025-11-25 10:02:52.613368 | controller | "isgid": false, 2025-11-25 10:02:52.613418 | controller | "islnk": false, 2025-11-25 10:02:52.613467 | controller | "isreg": true, 2025-11-25 10:02:52.613513 | controller | "issock": false, 2025-11-25 10:02:52.613558 | controller | "isuid": false, 2025-11-25 10:02:52.613605 | controller | "mode": "0644", 2025-11-25 10:02:52.613643 | controller | "mtime": 1764064922.7246869, 2025-11-25 10:02:52.613689 | controller | "nlink": 1, 2025-11-25 10:02:52.613796 | controller | "path": "/home/zuul/ansible.log", 2025-11-25 10:02:52.613839 | controller | "pw_name": "zuul", 2025-11-25 10:02:52.613875 | controller | "rgrp": true, 2025-11-25 10:02:52.613909 | controller | "roth": true, 2025-11-25 10:02:52.613943 | controller | "rusr": true, 2025-11-25 10:02:52.613978 | controller | "size": 1403506, 2025-11-25 10:02:52.614013 | controller | "uid": 1000, 2025-11-25 10:02:52.614048 | controller | "wgrp": false, 2025-11-25 10:02:52.614082 | controller | "woth": false, 2025-11-25 10:02:52.614116 | controller | "wusr": true, 2025-11-25 10:02:52.614149 | controller | "xgrp": false, 2025-11-25 10:02:52.614183 | controller | "xoth": false, 2025-11-25 10:02:52.614217 | controller | "xusr": false 2025-11-25 10:02:52.614252 | controller | } 2025-11-25 10:02:52.664359 | 2025-11-25 10:02:52.664601 | TASK [cifmw_setup : Copy facts to dated directory] 2025-11-25 10:02:53.160807 | controller | changed 2025-11-25 10:02:53.189777 | 2025-11-25 10:02:53.189913 | TASK [run_hook : Assert parameters are valid] 2025-11-25 10:02:53.329478 | controller | ok: All assertions passed 2025-11-25 10:02:53.352732 | 2025-11-25 10:02:53.352996 | TASK [run_hook : Assert single hooks are all mappings] 2025-11-25 10:02:53.479917 | controller | ok: All assertions passed 2025-11-25 10:02:53.506517 | 2025-11-25 10:02:53.506618 | LOOP [run_hook : Loop on hooks for post_logs] 2025-11-25 10:02:53.718985 | 2025-11-25 10:02:53.719132 | PLAY [Run ci/playbooks/e2e-collect-logs.yml on CRC host] 2025-11-25 10:02:53.796374 | 2025-11-25 10:02:53.796501 | TASK [Get kubelet journalctl logs] 2025-11-25 10:02:54.836886 | crc | Output suppressed because no_log was given 2025-11-25 10:02:54.874969 | 2025-11-25 10:02:54.875089 | PLAY RECAP 2025-11-25 10:02:54.875154 | controller | ok: 74 changed: 28 unreachable: 0 failed: 0 skipped: 33 rescued: 0 ignored: 2 2025-11-25 10:02:54.875216 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 10:02:54.875242 | 2025-11-25 10:02:55.075346 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml@main] 2025-11-25 10:02:55.082233 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml@main] 2025-11-25 10:02:55.747986 | 2025-11-25 10:02:55.748121 | PLAY [Run ci/playbooks/collect-logs.yml] 2025-11-25 10:02:55.842400 | 2025-11-25 10:02:55.842571 | TASK [Filter out host if needed] 2025-11-25 10:02:55.896645 | controller | skipping: end_host conditional evaluated to False, continuing execution for controller 2025-11-25 10:02:55.903186 | 2025-11-25 10:02:55.903260 | TASK [Filter out host if needed] 2025-11-25 10:02:55.937563 | 2025-11-25 10:02:55.937684 | TASK [Ensure file is present] 2025-11-25 10:02:56.483130 | controller | ok 2025-11-25 10:02:56.507797 | 2025-11-25 10:02:56.507895 | TASK [Manage molecule report file] 2025-11-25 10:02:57.217074 | controller | skipping: Conditional result was False 2025-11-25 10:02:57.275833 | 2025-11-25 10:02:57.275946 | TASK [Check if we get ci-framework-data basedir] 2025-11-25 10:02:57.582066 | controller | ok 2025-11-25 10:02:57.629495 | 2025-11-25 10:02:57.629659 | TASK [Create ci-framework-data log directory for zuul] 2025-11-25 10:02:58.275653 | controller | changed 2025-11-25 10:02:58.309092 | 2025-11-25 10:02:58.309260 | TASK [Copy ci-framework interesting files] 2025-11-25 10:02:59.068434 | controller | changed 2025-11-25 10:02:59.094064 | 2025-11-25 10:02:59.094170 | TASK [Get SELinux listing] 2025-11-25 10:02:59.804430 | controller | changed 2025-11-25 10:02:59.830591 | 2025-11-25 10:02:59.830692 | TASK [Generate log index] 2025-11-25 10:03:00.739914 | controller | changed 2025-11-25 10:03:00.778721 | 2025-11-25 10:03:00.778855 | TASK [Get some env related data] 2025-11-25 10:03:01.582432 | controller | /home/zuul/.local/bin/ansible 2025-11-25 10:03:02.473766 | controller | changed 2025-11-25 10:03:02.500763 | 2025-11-25 10:03:02.500896 | TASK [Generate list of logs to collect in home directory] 2025-11-25 10:03:02.898960 | controller | ok: All paths examined 2025-11-25 10:03:02.926269 | 2025-11-25 10:03:02.926399 | LOOP [Copy logs from home directory] 2025-11-25 10:03:02.967970 | 2025-11-25 10:03:02.968159 | TASK [Copy crio stats log file] 2025-11-25 10:03:02.993052 | controller | skipping: Conditional result was False 2025-11-25 10:03:03.019847 | 2025-11-25 10:03:03.019970 | TASK [Get SELinux related data] 2025-11-25 10:03:03.541800 | controller | 2025-11-25 10:03:03.752908 | controller | ERROR 2025-11-25 10:03:03.753246 | controller | { 2025-11-25 10:03:03.753288 | controller | "delta": "0:00:00.015089", 2025-11-25 10:03:03.753315 | controller | "end": "2025-11-25 10:03:03.543338", 2025-11-25 10:03:03.753339 | controller | "msg": "non-zero return code", 2025-11-25 10:03:03.753363 | controller | "rc": 1, 2025-11-25 10:03:03.753385 | controller | "start": "2025-11-25 10:03:03.528249" 2025-11-25 10:03:03.753407 | controller | } 2025-11-25 10:03:03.753440 | controller | ERROR: Ignoring Errors 2025-11-25 10:03:03.790011 | 2025-11-25 10:03:03.790159 | TASK [Create system configuration directory] 2025-11-25 10:03:04.122251 | controller | changed 2025-11-25 10:03:04.147231 | 2025-11-25 10:03:04.147333 | TASK [Get some of the system configurations] 2025-11-25 10:03:04.865519 | controller | changed 2025-11-25 10:03:04.912908 | 2025-11-25 10:03:04.913215 | TASK [Copy generated documentation if available] 2025-11-25 10:03:04.941170 | controller | skipping: Conditional result was False 2025-11-25 10:03:04.973781 | 2025-11-25 10:03:04.973916 | TASK [Copy generated AsciiDoc documentation if available] 2025-11-25 10:03:05.000827 | controller | skipping: Conditional result was False 2025-11-25 10:03:05.047357 | 2025-11-25 10:03:05.047791 | TASK [Compress logs bigger than 2MB] 2025-11-25 10:03:06.415274 | controller | changed 2025-11-25 10:03:06.458976 | 2025-11-25 10:03:06.459094 | TASK [Copy files from workspace on node] 2025-11-25 10:03:06.543910 | controller | ok 2025-11-25 10:03:06.625094 | 2025-11-25 10:03:06.625223 | TASK [fetch-output : Set log path for multiple nodes] 2025-11-25 10:03:06.690214 | controller | ok 2025-11-25 10:03:06.718333 | 2025-11-25 10:03:06.718513 | TASK [fetch-output : Set log path for single node] 2025-11-25 10:03:06.743253 | controller | skipping: Conditional result was False 2025-11-25 10:03:06.773003 | 2025-11-25 10:03:06.773130 | LOOP [fetch-output : Ensure local output dirs] 2025-11-25 10:03:07.040484 | controller -> localhost | changed: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/logs/controller" 2025-11-25 10:03:07.040749 | 2025-11-25 10:03:07.286820 | controller -> localhost | changed: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/artifacts" 2025-11-25 10:03:07.590021 | controller -> localhost | changed: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/docs" 2025-11-25 10:03:07.715103 | 2025-11-25 10:03:07.715294 | LOOP [fetch-output : Collect logs, artifacts and docs] 2025-11-25 10:03:08.982540 | controller | changed: 2025-11-25 10:03:08.983010 | controller | .d..t...... ./ 2025-11-25 10:03:08.983050 | controller | >f+++++++++ README.html 2025-11-25 10:03:08.983072 | controller | >f+++++++++ dmesg.log 2025-11-25 10:03:08.983095 | controller | >f+++++++++ installed-pkgs.log 2025-11-25 10:03:08.983114 | controller | >f+++++++++ python.log 2025-11-25 10:03:08.983132 | controller | >f+++++++++ registries.conf 2025-11-25 10:03:08.983150 | controller | >f+++++++++ selinux-denials.log 2025-11-25 10:03:08.983277 | controller | >f+++++++++ selinux-listing.log 2025-11-25 10:03:08.983298 | controller | cd+++++++++ ci-framework-data/ 2025-11-25 10:03:08.983321 | controller | cd+++++++++ ci-framework-data/artifacts/ 2025-11-25 10:03:08.983339 | controller | >f+++++++++ ci-framework-data/artifacts/ansible-facts.yml 2025-11-25 10:03:08.983357 | controller | >f+++++++++ ci-framework-data/artifacts/ansible-vars.yml 2025-11-25 10:03:08.983374 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_check_for_oc.sh 2025-11-25 10:03:08.983391 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_copy_logs_from_crc.sh 2025-11-25 10:03:08.983408 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_prepare_root_ssh.sh 2025-11-25 10:03:08.983425 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_run_download.sh 2025-11-25 10:03:08.983442 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_000_run_openstack_must_gather.sh 2025-11-25 10:03:08.983458 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_001_fetch_openshift.sh 2025-11-25 10:03:08.983721 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_002_run_crc_attach_default.sh 2025-11-25 10:03:08.983752 | controller | >f+++++++++ ci-framework-data/artifacts/ci_script_003_run_keystone.sh 2025-11-25 10:03:08.983772 | controller | >f+++++++++ ci-framework-data/artifacts/hosts 2025-11-25 10:03:08.983790 | controller | >f+++++++++ ci-framework-data/artifacts/install_yamls.sh 2025-11-25 10:03:08.983808 | controller | >f+++++++++ ci-framework-data/artifacts/installed-packages.yml 2025-11-25 10:03:08.983825 | controller | >f+++++++++ ci-framework-data/artifacts/ip-network.txt 2025-11-25 10:03:08.983841 | controller | >f+++++++++ ci-framework-data/artifacts/resolv.conf 2025-11-25 10:03:08.984051 | controller | >f+++++++++ ci-framework-data/artifacts/zuul_inventory.yml 2025-11-25 10:03:08.984079 | controller | cd+++++++++ ci-framework-data/artifacts/NetworkManager/ 2025-11-25 10:03:08.984098 | controller | >f+++++++++ ci-framework-data/artifacts/NetworkManager/ci-private-network.nmconnection 2025-11-25 10:03:08.984116 | controller | >f+++++++++ ci-framework-data/artifacts/NetworkManager/ens3.nmconnection 2025-11-25 10:03:08.984134 | controller | cd+++++++++ ci-framework-data/artifacts/ansible_facts.2025-11-25_10-02/ 2025-11-25 10:03:08.984151 | controller | cd+++++++++ ci-framework-data/artifacts/ansible_facts.2025-11-25_10-02/ansible_facts_cache/ 2025-11-25 10:03:08.984170 | controller | >f+++++++++ ci-framework-data/artifacts/ansible_facts.2025-11-25_10-02/ansible_facts_cache/localhost 2025-11-25 10:03:08.984196 | controller | cd+++++++++ ci-framework-data/artifacts/ci-env/ 2025-11-25 10:03:08.984215 | controller | >f+++++++++ ci-framework-data/artifacts/ci-env/networking-info.yml 2025-11-25 10:03:08.984257 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/ 2025-11-25 10:03:08.984275 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/ 2025-11-25 10:03:08.984291 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/namespace.yaml 2025-11-25 10:03:08.984434 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/ 2025-11-25 10:03:08.984458 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/ 2025-11-25 10:03:08.984476 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/kustomization.yaml 2025-11-25 10:03:08.984493 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/infra/cr/memcached_v1beta1_memcached.yaml 2025-11-25 10:03:08.984513 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input/ 2025-11-25 10:03:08.984530 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/input/kustomization.yaml 2025-11-25 10:03:08.984550 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/ 2025-11-25 10:03:08.984567 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/ 2025-11-25 10:03:08.984584 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/keystone_v1beta1_keystoneapi.yaml 2025-11-25 10:03:08.984602 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/keystone/cr/kustomization.yaml 2025-11-25 10:03:08.984618 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/ 2025-11-25 10:03:08.984635 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/ 2025-11-25 10:03:08.984651 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/kustomization.yaml 2025-11-25 10:03:08.984668 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/mariadb/cr/mariadb_v1beta1_galera.yaml 2025-11-25 10:03:08.984816 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/ 2025-11-25 10:03:08.984846 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/ 2025-11-25 10:03:08.984866 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/kustomization.yaml 2025-11-25 10:03:08.984884 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/keystone-kuttl-tests/rabbitmq/cr/rabbitmq.yaml 2025-11-25 10:03:08.984901 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/ 2025-11-25 10:03:08.984919 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/metallb-system/namespace.yaml 2025-11-25 10:03:08.984937 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/ 2025-11-25 10:03:08.984954 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/ 2025-11-25 10:03:08.984971 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/metallb-system/metallb/cr/deploy_operator.yaml 2025-11-25 10:03:08.984989 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/ 2025-11-25 10:03:08.985013 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/namespace.yaml 2025-11-25 10:03:08.985231 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/ 2025-11-25 10:03:08.985268 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/ 2025-11-25 10:03:08.985287 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/catalogsource.yaml 2025-11-25 10:03:08.985313 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/operatorgroup.yaml 2025-11-25 10:03:08.985331 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/infra/op/subscription.yaml 2025-11-25 10:03:08.985348 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/ 2025-11-25 10:03:08.985364 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/ 2025-11-25 10:03:08.985381 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/catalogsource.yaml 2025-11-25 10:03:08.985494 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/operatorgroup.yaml 2025-11-25 10:03:08.985524 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/keystone/op/subscription.yaml 2025-11-25 10:03:08.985547 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/ 2025-11-25 10:03:08.985571 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/ 2025-11-25 10:03:08.985592 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/catalogsource.yaml 2025-11-25 10:03:08.985612 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/operatorgroup.yaml 2025-11-25 10:03:08.985628 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/mariadb/op/subscription.yaml 2025-11-25 10:03:08.985645 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/ 2025-11-25 10:03:08.985661 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/ 2025-11-25 10:03:08.985693 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/operatorgroup.yaml 2025-11-25 10:03:08.985730 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/metallb/op/subscription.yaml 2025-11-25 10:03:08.985747 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/ 2025-11-25 10:03:08.985763 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/ 2025-11-25 10:03:08.985779 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/catalogsource.yaml 2025-11-25 10:03:08.985796 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/operatorgroup.yaml 2025-11-25 10:03:08.985892 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq-cluster/op/subscription.yaml 2025-11-25 10:03:08.985921 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/ 2025-11-25 10:03:08.985940 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack-operators/rabbitmq/op/ 2025-11-25 10:03:08.985957 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack/ 2025-11-25 10:03:08.985974 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/openstack/cr/ 2025-11-25 10:03:08.985991 | controller | cd+++++++++ ci-framework-data/artifacts/manifests/storage/ 2025-11-25 10:03:08.986008 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/storage/storage-class.yaml 2025-11-25 10:03:08.986025 | controller | >f+++++++++ ci-framework-data/artifacts/manifests/storage/storage.yaml 2025-11-25 10:03:08.986041 | controller | cd+++++++++ ci-framework-data/artifacts/parameters/ 2025-11-25 10:03:08.986058 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/custom-params.yml 2025-11-25 10:03:08.986074 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/install-yamls-params.yml 2025-11-25 10:03:08.986095 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/openshift-login-params.yml 2025-11-25 10:03:08.986112 | controller | >f+++++++++ ci-framework-data/artifacts/parameters/zuul-params.yml 2025-11-25 10:03:08.986129 | controller | cd+++++++++ ci-framework-data/artifacts/repositories/ 2025-11-25 10:03:08.986144 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean-antelope-testing.repo 2025-11-25 10:03:08.986160 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean.repo 2025-11-25 10:03:08.986277 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/delorean.repo.md5 2025-11-25 10:03:08.986297 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-appstream.repo 2025-11-25 10:03:08.986314 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-baseos.repo 2025-11-25 10:03:08.986331 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-highavailability.repo 2025-11-25 10:03:08.986347 | controller | >f+++++++++ ci-framework-data/artifacts/repositories/repo-setup-centos-powertools.repo 2025-11-25 10:03:08.986364 | controller | cd+++++++++ ci-framework-data/artifacts/roles/ 2025-11-25 10:03:08.986380 | controller | cd+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/ 2025-11-25 10:03:08.986397 | controller | cd+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/ 2025-11-25 10:03:08.986413 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_all.yml 2025-11-25 10:03:08.986430 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee.yml 2025-11-25 10:03:08.986447 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_cleanup.yml 2025-11-25 10:03:08.986464 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl.yml 2025-11-25 10:03:08.986480 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_cleanup.yml 2025-11-25 10:03:08.986496 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_prep.yml 2025-11-25 10:03:08.986773 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_kuttl_run.yml 2025-11-25 10:03:08.986804 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ansibleee_prep.yml 2025-11-25 10:03:08.986823 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_attach_default_interface.yml 2025-11-25 10:03:08.986841 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_attach_default_interface_cleanup.yml 2025-11-25 10:03:08.986858 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican.yml 2025-11-25 10:03:08.986875 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_cleanup.yml 2025-11-25 10:03:08.986892 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy.yml 2025-11-25 10:03:08.986909 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_cleanup.yml 2025-11-25 10:03:08.986926 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_prep.yml 2025-11-25 10:03:08.986942 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_deploy_validate.yml 2025-11-25 10:03:08.986959 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_kuttl.yml 2025-11-25 10:03:08.986975 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_kuttl_run.yml 2025-11-25 10:03:08.986992 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_barbican_prep.yml 2025-11-25 10:03:08.987012 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal.yml 2025-11-25 10:03:08.987309 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal_cleanup.yml 2025-11-25 10:03:08.987334 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_baremetal_prep.yml 2025-11-25 10:03:08.987351 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas.yml 2025-11-25 10:03:08.987368 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_baremetal_net_nad.yml 2025-11-25 10:03:08.987384 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_baremetal_net_nad_cleanup.yml 2025-11-25 10:03:08.987400 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_cleanup.yml 2025-11-25 10:03:08.987416 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_attach_network.yml 2025-11-25 10:03:08.987432 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_attach_network_cleanup.yml 2025-11-25 10:03:08.987447 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_baremetal_bridge.yml 2025-11-25 10:03:08.987463 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_crc_baremetal_bridge_cleanup.yml 2025-11-25 10:03:08.987478 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_generate_nodes_yaml.yml 2025-11-25 10:03:08.987493 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_metallb.yml 2025-11-25 10:03:08.987509 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_metallb_cleanup.yml 2025-11-25 10:03:08.987524 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_network.yml 2025-11-25 10:03:08.987540 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_network_cleanup.yml 2025-11-25 10:03:08.987556 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_route_crc_and_crc_bmaas_networks.yml 2025-11-25 10:03:08.987572 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_route_crc_and_crc_bmaas_networks_cleanup.yml 2025-11-25 10:03:08.987588 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator.yml 2025-11-25 10:03:08.987702 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator_cleanup.yml 2025-11-25 10:03:08.987733 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_sushy_emulator_wait.yml 2025-11-25 10:03:08.987756 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_virtual_bms.yml 2025-11-25 10:03:08.987780 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_bmaas_virtual_bms_cleanup.yml 2025-11-25 10:03:08.987805 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph.yml 2025-11-25 10:03:08.987822 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph_cleanup.yml 2025-11-25 10:03:08.987839 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ceph_help.yml 2025-11-25 10:03:08.987855 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_certmanager.yml 2025-11-25 10:03:08.987872 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_certmanager_cleanup.yml 2025-11-25 10:03:08.987893 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cifmw_cleanup.yml 2025-11-25 10:03:08.987911 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cifmw_prepare.yml 2025-11-25 10:03:08.987928 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder.yml 2025-11-25 10:03:08.987944 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_cleanup.yml 2025-11-25 10:03:08.988055 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy.yml 2025-11-25 10:03:08.988082 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy_cleanup.yml 2025-11-25 10:03:08.988099 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_deploy_prep.yml 2025-11-25 10:03:08.988116 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_kuttl.yml 2025-11-25 10:03:08.988133 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_kuttl_run.yml 2025-11-25 10:03:08.988149 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cinder_prep.yml 2025-11-25 10:03:08.988165 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_cleanup.yml 2025-11-25 10:03:08.988180 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc.yml 2025-11-25 10:03:08.988196 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_attach_default_interface.yml 2025-11-25 10:03:08.988212 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_attach_default_interface_cleanup.yml 2025-11-25 10:03:08.988234 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_bmo_cleanup.yml 2025-11-25 10:03:08.988274 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_bmo_setup.yml 2025-11-25 10:03:08.988294 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_cleanup.yml 2025-11-25 10:03:08.988311 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_scrub.yml 2025-11-25 10:03:08.988455 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage.yml 2025-11-25 10:03:08.988489 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_cleanup.yml 2025-11-25 10:03:08.988513 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_cleanup_with_retries.yml 2025-11-25 10:03:08.988531 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_release.yml 2025-11-25 10:03:08.988548 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_crc_storage_with_retries.yml 2025-11-25 10:03:08.988565 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_deploy_cleanup.yml 2025-11-25 10:03:08.988581 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate.yml 2025-11-25 10:03:08.988598 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_cleanup.yml 2025-11-25 10:03:08.988614 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy.yml 2025-11-25 10:03:08.988631 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy_cleanup.yml 2025-11-25 10:03:08.988647 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_deploy_prep.yml 2025-11-25 10:03:08.988669 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_kuttl.yml 2025-11-25 10:03:08.988844 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_kuttl_run.yml 2025-11-25 10:03:08.988872 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_designate_prep.yml 2025-11-25 10:03:08.988890 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy.yml 2025-11-25 10:03:08.988907 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy_cleanup.yml 2025-11-25 10:03:08.988924 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_dns_deploy_prep.yml 2025-11-25 10:03:08.988940 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_download_tools.yml 2025-11-25 10:03:08.988957 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_ansible_runner.yml 2025-11-25 10:03:08.988975 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_baremetal_compute.yml 2025-11-25 10:03:08.988992 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute.yml 2025-11-25 10:03:08.989009 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_bootc.yml 2025-11-25 10:03:08.989025 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_cleanup.yml 2025-11-25 10:03:08.989041 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_compute_repos.yml 2025-11-25 10:03:08.989057 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_computes_bgp.yml 2025-11-25 10:03:08.989072 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy.yml 2025-11-25 10:03:08.989088 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_baremetal.yml 2025-11-25 10:03:08.989105 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_baremetal_prep.yml 2025-11-25 10:03:08.989127 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_cleanup.yml 2025-11-25 10:03:08.989144 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_generate_keys.yml 2025-11-25 10:03:08.989160 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_instance.yml 2025-11-25 10:03:08.989526 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker.yml 2025-11-25 10:03:08.989560 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker_cleanup.yml 2025-11-25 10:03:08.989579 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_networker_prep.yml 2025-11-25 10:03:08.989597 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_deploy_prep.yml 2025-11-25 10:03:08.989616 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_networker.yml 2025-11-25 10:03:08.989633 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_networker_cleanup.yml 2025-11-25 10:03:08.989649 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_nova_discover_hosts.yml 2025-11-25 10:03:08.989666 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_patch_ansible_runner_image.yml 2025-11-25 10:03:08.989717 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_register_dns.yml 2025-11-25 10:03:08.989744 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_wait_deploy.yml 2025-11-25 10:03:08.989767 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_edpm_wait_deploy_baremetal.yml 2025-11-25 10:03:08.989784 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance.yml 2025-11-25 10:03:08.989800 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_cleanup.yml 2025-11-25 10:03:08.989958 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy.yml 2025-11-25 10:03:08.989981 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy_cleanup.yml 2025-11-25 10:03:08.990004 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_deploy_prep.yml 2025-11-25 10:03:08.990029 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_kuttl.yml 2025-11-25 10:03:08.990048 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_kuttl_run.yml 2025-11-25 10:03:08.990064 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_glance_prep.yml 2025-11-25 10:03:08.990081 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat.yml 2025-11-25 10:03:08.990097 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_cleanup.yml 2025-11-25 10:03:08.990113 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy.yml 2025-11-25 10:03:08.990129 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy_cleanup.yml 2025-11-25 10:03:08.990145 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_deploy_prep.yml 2025-11-25 10:03:08.990252 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl.yml 2025-11-25 10:03:08.990276 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl_crc.yml 2025-11-25 10:03:08.990293 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_kuttl_run.yml 2025-11-25 10:03:08.990310 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_heat_prep.yml 2025-11-25 10:03:08.990326 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_help.yml 2025-11-25 10:03:08.990342 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon.yml 2025-11-25 10:03:08.990358 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_cleanup.yml 2025-11-25 10:03:08.990374 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy.yml 2025-11-25 10:03:08.990394 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy_cleanup.yml 2025-11-25 10:03:08.990414 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_deploy_prep.yml 2025-11-25 10:03:08.990431 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_kuttl.yml 2025-11-25 10:03:08.990447 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_kuttl_run.yml 2025-11-25 10:03:08.990550 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_horizon_prep.yml 2025-11-25 10:03:08.990576 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra.yml 2025-11-25 10:03:08.990594 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_cleanup.yml 2025-11-25 10:03:08.990618 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_kuttl.yml 2025-11-25 10:03:08.990643 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_kuttl_run.yml 2025-11-25 10:03:08.990665 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_infra_prep.yml 2025-11-25 10:03:08.990707 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_input.yml 2025-11-25 10:03:08.990728 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_input_cleanup.yml 2025-11-25 10:03:08.990745 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab.yml 2025-11-25 10:03:08.990885 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_cleanup.yml 2025-11-25 10:03:08.990917 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_nat64_router.yml 2025-11-25 10:03:08.990936 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_nat64_router_cleanup.yml 2025-11-25 10:03:08.990954 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_network.yml 2025-11-25 10:03:08.990970 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_network_cleanup.yml 2025-11-25 10:03:08.990987 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_sno.yml 2025-11-25 10:03:08.991004 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ipv6_lab_sno_cleanup.yml 2025-11-25 10:03:08.991021 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic.yml 2025-11-25 10:03:08.991040 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_cleanup.yml 2025-11-25 10:03:08.991062 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy.yml 2025-11-25 10:03:08.991080 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy_cleanup.yml 2025-11-25 10:03:08.991097 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_deploy_prep.yml 2025-11-25 10:03:08.991114 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl.yml 2025-11-25 10:03:08.991130 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl_crc.yml 2025-11-25 10:03:08.991146 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_kuttl_run.yml 2025-11-25 10:03:08.991162 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ironic_prep.yml 2025-11-25 10:03:08.991179 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone.yml 2025-11-25 10:03:08.991195 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_cleanup.yml 2025-11-25 10:03:08.991510 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy.yml 2025-11-25 10:03:08.991539 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy_cleanup.yml 2025-11-25 10:03:08.991558 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_deploy_prep.yml 2025-11-25 10:03:08.991575 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl.yml 2025-11-25 10:03:08.991591 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_kuttl_run.yml 2025-11-25 10:03:08.991615 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_keystone_prep.yml 2025-11-25 10:03:08.991632 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_common_cleanup.yml 2025-11-25 10:03:08.991648 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_common_prep.yml 2025-11-25 10:03:08.991664 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_db_cleanup.yml 2025-11-25 10:03:08.991697 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_kuttl_db_prep.yml 2025-11-25 10:03:08.991720 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki.yml 2025-11-25 10:03:08.991737 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_cleanup.yml 2025-11-25 10:03:08.991754 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_deploy.yml 2025-11-25 10:03:08.992033 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_loki_deploy_cleanup.yml 2025-11-25 10:03:08.992060 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_lvms.yml 2025-11-25 10:03:08.992080 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila.yml 2025-11-25 10:03:08.992098 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_cleanup.yml 2025-11-25 10:03:08.992115 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy.yml 2025-11-25 10:03:08.992131 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy_cleanup.yml 2025-11-25 10:03:08.992148 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_deploy_prep.yml 2025-11-25 10:03:08.992165 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_kuttl.yml 2025-11-25 10:03:08.992181 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_kuttl_run.yml 2025-11-25 10:03:08.992196 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_manila_prep.yml 2025-11-25 10:03:08.992212 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb.yml 2025-11-25 10:03:08.992227 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_chainsaw.yml 2025-11-25 10:03:08.992243 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_chainsaw_run.yml 2025-11-25 10:03:08.992261 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_cleanup.yml 2025-11-25 10:03:08.992385 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy.yml 2025-11-25 10:03:08.992455 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy_cleanup.yml 2025-11-25 10:03:08.992477 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_deploy_prep.yml 2025-11-25 10:03:08.992494 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_kuttl.yml 2025-11-25 10:03:08.992511 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_mariadb_kuttl_run.yml 2025-11-25 10:03:08.992528 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy.yml 2025-11-25 10:03:08.992545 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy_cleanup.yml 2025-11-25 10:03:08.992561 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_memcached_deploy_prep.yml 2025-11-25 10:03:08.992582 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb.yml 2025-11-25 10:03:08.992742 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_cleanup.yml 2025-11-25 10:03:08.992776 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_config.yml 2025-11-25 10:03:08.992797 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_metallb_config_cleanup.yml 2025-11-25 10:03:08.992815 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_namespace.yml 2025-11-25 10:03:08.992834 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_namespace_cleanup.yml 2025-11-25 10:03:08.992853 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netattach.yml 2025-11-25 10:03:08.992871 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netattach_cleanup.yml 2025-11-25 10:03:08.992889 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy.yml 2025-11-25 10:03:08.992908 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy_cleanup.yml 2025-11-25 10:03:08.992927 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netconfig_deploy_prep.yml 2025-11-25 10:03:08.992943 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv.yml 2025-11-25 10:03:08.993087 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_cleanup.yml 2025-11-25 10:03:08.993114 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_deploy.yml 2025-11-25 10:03:08.993136 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_netobserv_deploy_cleanup.yml 2025-11-25 10:03:08.993158 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_network_isolation_bridge.yml 2025-11-25 10:03:08.993179 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_network_isolation_bridge_cleanup.yml 2025-11-25 10:03:08.993199 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron.yml 2025-11-25 10:03:08.993220 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_cleanup.yml 2025-11-25 10:03:08.993241 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy.yml 2025-11-25 10:03:08.993262 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy_cleanup.yml 2025-11-25 10:03:08.993282 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_deploy_prep.yml 2025-11-25 10:03:08.993303 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_kuttl.yml 2025-11-25 10:03:08.993323 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_kuttl_run.yml 2025-11-25 10:03:08.993555 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_neutron_prep.yml 2025-11-25 10:03:08.993591 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nfs.yml 2025-11-25 10:03:08.993611 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nfs_cleanup.yml 2025-11-25 10:03:08.993628 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nmstate.yml 2025-11-25 10:03:08.993645 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nncp.yml 2025-11-25 10:03:08.993817 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nncp_cleanup.yml 2025-11-25 10:03:08.993854 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova.yml 2025-11-25 10:03:08.993875 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_cleanup.yml 2025-11-25 10:03:08.993899 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy.yml 2025-11-25 10:03:08.993924 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy_cleanup.yml 2025-11-25 10:03:08.993943 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_deploy_prep.yml 2025-11-25 10:03:08.993959 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_nova_prep.yml 2025-11-25 10:03:08.993975 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia.yml 2025-11-25 10:03:08.993991 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_cleanup.yml 2025-11-25 10:03:08.994007 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy.yml 2025-11-25 10:03:08.994023 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy_cleanup.yml 2025-11-25 10:03:08.994039 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_deploy_prep.yml 2025-11-25 10:03:08.994055 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_kuttl.yml 2025-11-25 10:03:08.994071 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_kuttl_run.yml 2025-11-25 10:03:08.994102 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_octavia_prep.yml 2025-11-25 10:03:08.994120 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack.yml 2025-11-25 10:03:08.994136 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_cleanup.yml 2025-11-25 10:03:08.994151 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_crds.yml 2025-11-25 10:03:08.994167 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_crds_cleanup.yml 2025-11-25 10:03:08.994183 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy.yml 2025-11-25 10:03:08.994199 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy_cleanup.yml 2025-11-25 10:03:08.994214 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_deploy_prep.yml 2025-11-25 10:03:08.994230 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_init.yml 2025-11-25 10:03:08.994246 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_kuttl.yml 2025-11-25 10:03:08.994261 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_kuttl_run.yml 2025-11-25 10:03:08.994277 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_patch_version.yml 2025-11-25 10:03:08.994293 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_prep.yml 2025-11-25 10:03:08.994308 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_repo.yml 2025-11-25 10:03:08.994324 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_update_run.yml 2025-11-25 10:03:08.994339 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_wait.yml 2025-11-25 10:03:08.994360 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_openstack_wait_deploy.yml 2025-11-25 10:03:08.994376 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_operator_namespace.yml 2025-11-25 10:03:08.994392 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn.yml 2025-11-25 10:03:08.994408 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_cleanup.yml 2025-11-25 10:03:08.994424 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy.yml 2025-11-25 10:03:08.994440 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy_cleanup.yml 2025-11-25 10:03:08.994460 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_deploy_prep.yml 2025-11-25 10:03:08.994481 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_kuttl.yml 2025-11-25 10:03:08.994516 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_kuttl_run.yml 2025-11-25 10:03:08.994551 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_ovn_prep.yml 2025-11-25 10:03:08.994571 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement.yml 2025-11-25 10:03:08.994588 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_cleanup.yml 2025-11-25 10:03:08.994605 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy.yml 2025-11-25 10:03:08.994621 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy_cleanup.yml 2025-11-25 10:03:08.994896 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_deploy_prep.yml 2025-11-25 10:03:08.994933 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_kuttl.yml 2025-11-25 10:03:08.994954 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_kuttl_run.yml 2025-11-25 10:03:08.994971 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_placement_prep.yml 2025-11-25 10:03:08.994988 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq.yml 2025-11-25 10:03:08.995004 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_cleanup.yml 2025-11-25 10:03:08.995021 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy.yml 2025-11-25 10:03:08.995037 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy_cleanup.yml 2025-11-25 10:03:08.995053 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_deploy_prep.yml 2025-11-25 10:03:08.995070 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rabbitmq_prep.yml 2025-11-25 10:03:08.995086 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy.yml 2025-11-25 10:03:08.995102 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy_cleanup.yml 2025-11-25 10:03:08.995122 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_redis_deploy_prep.yml 2025-11-25 10:03:08.995165 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook.yml 2025-11-25 10:03:08.995194 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_cleanup.yml 2025-11-25 10:03:08.995220 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_crc_disk.yml 2025-11-25 10:03:08.995238 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_deploy.yml 2025-11-25 10:03:08.995254 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_deploy_prep.yml 2025-11-25 10:03:08.995286 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_rook_prep.yml 2025-11-25 10:03:08.995304 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_set_slower_etcd_profile.yml 2025-11-25 10:03:08.995320 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone.yml 2025-11-25 10:03:08.995337 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_cleanup.yml 2025-11-25 10:03:08.995353 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_deploy.yml 2025-11-25 10:03:08.995369 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_revert.yml 2025-11-25 10:03:08.995385 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_snapshot.yml 2025-11-25 10:03:08.995401 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_standalone_sync.yml 2025-11-25 10:03:08.995417 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift.yml 2025-11-25 10:03:08.995434 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_cleanup.yml 2025-11-25 10:03:08.995450 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy.yml 2025-11-25 10:03:08.995466 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy_cleanup.yml 2025-11-25 10:03:08.995482 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_deploy_prep.yml 2025-11-25 10:03:08.995498 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_kuttl.yml 2025-11-25 10:03:08.995514 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_kuttl_run.yml 2025-11-25 10:03:08.995530 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_swift_prep.yml 2025-11-25 10:03:08.995545 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry.yml 2025-11-25 10:03:08.995561 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_cleanup.yml 2025-11-25 10:03:08.995576 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy.yml 2025-11-25 10:03:08.995592 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy_cleanup.yml 2025-11-25 10:03:08.995607 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_deploy_prep.yml 2025-11-25 10:03:08.995622 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_kuttl.yml 2025-11-25 10:03:08.995638 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_kuttl_run.yml 2025-11-25 10:03:08.995653 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_telemetry_prep.yml 2025-11-25 10:03:08.995669 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_tripleo_deploy.yml 2025-11-25 10:03:08.995706 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_update_services.yml 2025-11-25 10:03:08.995724 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_update_system.yml 2025-11-25 10:03:08.995745 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_validate_marketplace.yml 2025-11-25 10:03:08.995762 | controller | >f+++++++++ ci-framework-data/artifacts/roles/install_yamls_makes/tasks/make_wait.yml 2025-11-25 10:03:08.995778 | controller | cd+++++++++ ci-framework-data/artifacts/yum_repos/ 2025-11-25 10:03:08.995795 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean-antelope-testing.repo 2025-11-25 10:03:08.995814 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean.repo 2025-11-25 10:03:08.995832 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/delorean.repo.md5 2025-11-25 10:03:08.995849 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-appstream.repo 2025-11-25 10:03:08.995866 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-baseos.repo 2025-11-25 10:03:08.995882 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-highavailability.repo 2025-11-25 10:03:08.995899 | controller | >f+++++++++ ci-framework-data/artifacts/yum_repos/repo-setup-centos-powertools.repo 2025-11-25 10:03:08.995915 | controller | cd+++++++++ ci-framework-data/logs/ 2025-11-25 10:03:08.995931 | controller | >f+++++++++ ci-framework-data/logs/ansible.log 2025-11-25 10:03:08.995947 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_copy_logs_from_crc.log 2025-11-25 10:03:08.995964 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_prepare_root_ssh.log 2025-11-25 10:03:08.995980 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_run_download.log 2025-11-25 10:03:08.995996 | controller | >f+++++++++ ci-framework-data/logs/ci_script_000_run_openstack_must_gather.log 2025-11-25 10:03:08.996012 | controller | >f+++++++++ ci-framework-data/logs/ci_script_001_fetch_openshift.log 2025-11-25 10:03:08.996028 | controller | >f+++++++++ ci-framework-data/logs/ci_script_002_run_crc_attach_default.log 2025-11-25 10:03:08.996045 | controller | >f+++++++++ ci-framework-data/logs/ci_script_003_run_keystone.log 2025-11-25 10:03:08.996061 | controller | cd+++++++++ ci-framework-data/logs/2025-11-25_10-02/ 2025-11-25 10:03:08.996077 | controller | >f+++++++++ ci-framework-data/logs/2025-11-25_10-02/ansible.log 2025-11-25 10:03:08.996094 | controller | cd+++++++++ ci-framework-data/logs/crc/ 2025-11-25 10:03:08.996110 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/ 2025-11-25 10:03:08.996126 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/ 2025-11-25 10:03:08.996142 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/ 2025-11-25 10:03:08.996159 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/csi-provisioner/ 2025-11-25 10:03:08.996176 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/csi-provisioner/0.log 2025-11-25 10:03:08.996193 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/hostpath-provisioner/ 2025-11-25 10:03:08.996209 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/hostpath-provisioner/0.log 2025-11-25 10:03:08.996225 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/liveness-probe/ 2025-11-25 10:03:08.996241 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/liveness-probe/0.log 2025-11-25 10:03:08.996262 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/node-driver-registrar/ 2025-11-25 10:03:08.996281 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/hostpath-provisioner_csi-hostpathplugin-dc5dm_a3eedf9c-efe3-4ef4-bb51-5a0a345733f6/node-driver-registrar/0.log 2025-11-25 10:03:08.996321 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-55c98d597d-78j2k_36c08187-0f8e-495f-8cf9-dfbdf7c825d1/ 2025-11-25 10:03:08.996339 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-55c98d597d-78j2k_36c08187-0f8e-495f-8cf9-dfbdf7c825d1/keystone-api/ 2025-11-25 10:03:08.996356 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-55c98d597d-78j2k_36c08187-0f8e-495f-8cf9-dfbdf7c825d1/keystone-api/0.log 2025-11-25 10:03:08.996372 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-cron-29401081-zg5rm_d8aa7b70-a40b-4f0c-8e2b-1b46fe1dd533/ 2025-11-25 10:03:08.996387 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-cron-29401081-zg5rm_d8aa7b70-a40b-4f0c-8e2b-1b46fe1dd533/keystone-cron/ 2025-11-25 10:03:08.996403 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_keystone-cron-29401081-zg5rm_d8aa7b70-a40b-4f0c-8e2b-1b46fe1dd533/keystone-cron/0.log 2025-11-25 10:03:08.996419 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_71b4c45a-50ec-4be3-9378-76e249f3a7ac/ 2025-11-25 10:03:08.996435 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_71b4c45a-50ec-4be3-9378-76e249f3a7ac/memcached/ 2025-11-25 10:03:08.996452 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_memcached-0_71b4c45a-50ec-4be3-9378-76e249f3a7ac/memcached/0.log 2025-11-25 10:03:08.996468 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_c2c093a1-6bb8-4137-b678-69116438377c/ 2025-11-25 10:03:08.996484 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_c2c093a1-6bb8-4137-b678-69116438377c/galera/ 2025-11-25 10:03:08.996501 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_c2c093a1-6bb8-4137-b678-69116438377c/galera/0.log 2025-11-25 10:03:08.996517 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_c2c093a1-6bb8-4137-b678-69116438377c/mysql-bootstrap/ 2025-11-25 10:03:08.996533 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-0_c2c093a1-6bb8-4137-b678-69116438377c/mysql-bootstrap/0.log 2025-11-25 10:03:08.996550 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_c79a649b-3543-4b6f-8e59-caebefa31001/ 2025-11-25 10:03:08.996566 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_c79a649b-3543-4b6f-8e59-caebefa31001/galera/ 2025-11-25 10:03:08.996582 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_c79a649b-3543-4b6f-8e59-caebefa31001/galera/0.log 2025-11-25 10:03:08.996598 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_c79a649b-3543-4b6f-8e59-caebefa31001/mysql-bootstrap/ 2025-11-25 10:03:08.996614 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-1_c79a649b-3543-4b6f-8e59-caebefa31001/mysql-bootstrap/0.log 2025-11-25 10:03:08.996638 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_b233a2b9-7c48-4d52-8896-4aa4b814605f/ 2025-11-25 10:03:08.996655 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_b233a2b9-7c48-4d52-8896-4aa4b814605f/galera/ 2025-11-25 10:03:08.996671 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_b233a2b9-7c48-4d52-8896-4aa4b814605f/galera/0.log 2025-11-25 10:03:08.996709 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_b233a2b9-7c48-4d52-8896-4aa4b814605f/mysql-bootstrap/ 2025-11-25 10:03:08.996727 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_openstack-galera-2_b233a2b9-7c48-4d52-8896-4aa4b814605f/mysql-bootstrap/0.log 2025-11-25 10:03:08.996743 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_36037636-1752-434b-92b7-091efbfd9005/ 2025-11-25 10:03:08.996759 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_36037636-1752-434b-92b7-091efbfd9005/rabbitmq/ 2025-11-25 10:03:08.996775 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_36037636-1752-434b-92b7-091efbfd9005/rabbitmq/0.log 2025-11-25 10:03:08.996791 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_36037636-1752-434b-92b7-091efbfd9005/setup-container/ 2025-11-25 10:03:08.996807 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/keystone-kuttl-tests_rabbitmq-server-0_36037636-1752-434b-92b7-091efbfd9005/setup-container/0.log 2025-11-25 10:03:08.996823 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-vcb2q_5776ef6f-c2b4-4d10-9975-c047a8290421/ 2025-11-25 10:03:08.996838 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-vcb2q_5776ef6f-c2b4-4d10-9975-c047a8290421/controller/ 2025-11-25 10:03:08.996854 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-vcb2q_5776ef6f-c2b4-4d10-9975-c047a8290421/controller/0.log 2025-11-25 10:03:08.996870 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-vcb2q_5776ef6f-c2b4-4d10-9975-c047a8290421/kube-rbac-proxy/ 2025-11-25 10:03:08.996885 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_controller-6c7b4b5f48-vcb2q_5776ef6f-c2b4-4d10-9975-c047a8290421/kube-rbac-proxy/0.log 2025-11-25 10:03:08.996901 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/ 2025-11-25 10:03:08.996917 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cbba3c3d7252b3c89486f9cc481d912a2bbbe10ca13c7acf3b87c73334217335.log 2025-11-25 10:03:08.996933 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/controller/ 2025-11-25 10:03:08.996949 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/controller/0.log 2025-11-25 10:03:08.996965 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cp-frr-files/ 2025-11-25 10:03:08.996980 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cp-frr-files/0.log 2025-11-25 10:03:08.997003 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cp-metrics/ 2025-11-25 10:03:08.997020 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cp-metrics/0.log 2025-11-25 10:03:08.997035 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cp-reloader/ 2025-11-25 10:03:08.997051 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/cp-reloader/0.log 2025-11-25 10:03:08.997066 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/frr-metrics/ 2025-11-25 10:03:08.997081 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/frr-metrics/0.log 2025-11-25 10:03:08.997097 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/frr/ 2025-11-25 10:03:08.997112 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/frr/0.log.gz 2025-11-25 10:03:08.997127 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/kube-rbac-proxy-frr/ 2025-11-25 10:03:08.997147 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/kube-rbac-proxy-frr/0.log 2025-11-25 10:03:08.997172 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/kube-rbac-proxy/ 2025-11-25 10:03:08.997195 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/kube-rbac-proxy/0.log 2025-11-25 10:03:08.997213 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/reloader/ 2025-11-25 10:03:08.997229 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-qtwbc_415eb831-abdf-4454-b8f0-f560fb1d0639/reloader/0.log 2025-11-25 10:03:08.997245 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-6998585d5-5c6gn_456e466e-374e-4332-8ce1-0f84cdfdd462/ 2025-11-25 10:03:08.997261 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-6998585d5-5c6gn_456e466e-374e-4332-8ce1-0f84cdfdd462/frr-k8s-webhook-server/ 2025-11-25 10:03:08.997277 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_frr-k8s-webhook-server-6998585d5-5c6gn_456e466e-374e-4332-8ce1-0f84cdfdd462/frr-k8s-webhook-server/0.log 2025-11-25 10:03:08.997292 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-664f78b8b-n7g4f_e96f81f5-7d7b-4580-9174-f5b46d5f1ea6/ 2025-11-25 10:03:08.997308 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-664f78b8b-n7g4f_e96f81f5-7d7b-4580-9174-f5b46d5f1ea6/manager/ 2025-11-25 10:03:08.997324 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-controller-manager-664f78b8b-n7g4f_e96f81f5-7d7b-4580-9174-f5b46d5f1ea6/manager/2.log 2025-11-25 10:03:08.997339 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-75bd4c87d6-fr76c_d55bf784-99e5-42b2-8ec3-8dbf3d3aa547/ 2025-11-25 10:03:08.997359 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-75bd4c87d6-fr76c_d55bf784-99e5-42b2-8ec3-8dbf3d3aa547/webhook-server/ 2025-11-25 10:03:08.997376 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_metallb-operator-webhook-server-75bd4c87d6-fr76c_d55bf784-99e5-42b2-8ec3-8dbf3d3aa547/webhook-server/0.log 2025-11-25 10:03:08.997392 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-j6bv7_1a832207-ad0f-4751-96be-a318d59d3c00/ 2025-11-25 10:03:08.997408 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-j6bv7_1a832207-ad0f-4751-96be-a318d59d3c00/kube-rbac-proxy/ 2025-11-25 10:03:08.997424 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-j6bv7_1a832207-ad0f-4751-96be-a318d59d3c00/kube-rbac-proxy/0.log 2025-11-25 10:03:08.997440 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-j6bv7_1a832207-ad0f-4751-96be-a318d59d3c00/speaker/ 2025-11-25 10:03:08.997456 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/metallb-system_speaker-j6bv7_1a832207-ad0f-4751-96be-a318d59d3c00/speaker/0.log.gz 2025-11-25 10:03:08.997473 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-pxm7c_692575a0-8869-436e-b912-838ad302c4bd/ 2025-11-25 10:03:08.997489 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-pxm7c_692575a0-8869-436e-b912-838ad302c4bd/openshift-apiserver-operator/ 2025-11-25 10:03:08.997505 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver-operator_openshift-apiserver-operator-796bbdcf4f-pxm7c_692575a0-8869-436e-b912-838ad302c4bd/openshift-apiserver-operator/0.log 2025-11-25 10:03:08.997521 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/ 2025-11-25 10:03:08.997537 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/fix-audit-permissions/ 2025-11-25 10:03:08.997553 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/fix-audit-permissions/0.log 2025-11-25 10:03:08.997569 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/openshift-apiserver-check-endpoints/ 2025-11-25 10:03:08.997585 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/openshift-apiserver-check-endpoints/0.log 2025-11-25 10:03:08.997601 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/openshift-apiserver/ 2025-11-25 10:03:08.997616 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-apiserver_apiserver-76f77b778f-64gk2_93b2feab-2bfb-4bf2-b63d-b8cd5253509f/openshift-apiserver/0.log 2025-11-25 10:03:08.997634 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-7tm4l_f544d759-f5c6-430f-984e-c0768447ae1d/ 2025-11-25 10:03:08.997656 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-7tm4l_f544d759-f5c6-430f-984e-c0768447ae1d/authentication-operator/ 2025-11-25 10:03:08.997693 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication-operator_authentication-operator-69f744f599-7tm4l_f544d759-f5c6-430f-984e-c0768447ae1d/authentication-operator/0.log 2025-11-25 10:03:08.997716 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-5f79ddd96-zwnq5_b9458bed-8729-44cc-a0c1-7c8e4b2ab6ae/ 2025-11-25 10:03:08.997733 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-5f79ddd96-zwnq5_b9458bed-8729-44cc-a0c1-7c8e4b2ab6ae/oauth-openshift/ 2025-11-25 10:03:08.997750 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-authentication_oauth-openshift-5f79ddd96-zwnq5_b9458bed-8729-44cc-a0c1-7c8e4b2ab6ae/oauth-openshift/0.log 2025-11-25 10:03:08.997767 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-nw9pk_221a9776-8306-4dda-b262-3152d9bb212e/ 2025-11-25 10:03:08.997783 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-nw9pk_221a9776-8306-4dda-b262-3152d9bb212e/kube-rbac-proxy/ 2025-11-25 10:03:08.997800 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-nw9pk_221a9776-8306-4dda-b262-3152d9bb212e/kube-rbac-proxy/0.log 2025-11-25 10:03:08.997816 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-nw9pk_221a9776-8306-4dda-b262-3152d9bb212e/machine-approver-controller/ 2025-11-25 10:03:08.997832 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-machine-approver_machine-approver-56656f9798-nw9pk_221a9776-8306-4dda-b262-3152d9bb212e/machine-approver-controller/0.log 2025-11-25 10:03:08.997849 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-6mckc_68456817-e55c-47f3-a4d6-c1f11bac172c/ 2025-11-25 10:03:08.997866 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-6mckc_68456817-e55c-47f3-a4d6-c1f11bac172c/e07d57c270354756261686121eb525cd216ee5daed3c79f599d237df7eedd8e4.log 2025-11-25 10:03:08.997891 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-6mckc_68456817-e55c-47f3-a4d6-c1f11bac172c/cluster-samples-operator-watch/ 2025-11-25 10:03:08.997916 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-6mckc_68456817-e55c-47f3-a4d6-c1f11bac172c/cluster-samples-operator-watch/0.log 2025-11-25 10:03:08.997935 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-6mckc_68456817-e55c-47f3-a4d6-c1f11bac172c/cluster-samples-operator/ 2025-11-25 10:03:08.997952 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-samples-operator_cluster-samples-operator-665b6dd947-6mckc_68456817-e55c-47f3-a4d6-c1f11bac172c/cluster-samples-operator/0.log 2025-11-25 10:03:08.997969 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-6jttg_fcc86090-582f-40ba-9753-0c52c21cd553/ 2025-11-25 10:03:08.997985 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-6jttg_fcc86090-582f-40ba-9753-0c52c21cd553/cluster-version-operator/ 2025-11-25 10:03:08.998006 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-cluster-version_cluster-version-operator-5c965bbfc6-6jttg_fcc86090-582f-40ba-9753-0c52c21cd553/cluster-version-operator/0.log.gz 2025-11-25 10:03:08.998023 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-2jfg2_1b9441f8-90cf-4d2d-9e89-41a8a2bd4a5f/ 2025-11-25 10:03:08.998039 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-2jfg2_1b9441f8-90cf-4d2d-9e89-41a8a2bd4a5f/openshift-api/ 2025-11-25 10:03:08.998056 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-2jfg2_1b9441f8-90cf-4d2d-9e89-41a8a2bd4a5f/openshift-api/0.log 2025-11-25 10:03:08.998071 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-2jfg2_1b9441f8-90cf-4d2d-9e89-41a8a2bd4a5f/openshift-config-operator/ 2025-11-25 10:03:08.998088 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-config-operator_openshift-config-operator-7777fb866f-2jfg2_1b9441f8-90cf-4d2d-9e89-41a8a2bd4a5f/openshift-config-operator/0.log 2025-11-25 10:03:08.998104 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-n7f6b_4cf854d0-c203-4a18-8c15-67d75a1928da/ 2025-11-25 10:03:08.998120 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-n7f6b_4cf854d0-c203-4a18-8c15-67d75a1928da/console-operator/ 2025-11-25 10:03:08.998136 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console-operator_console-operator-58897d9998-n7f6b_4cf854d0-c203-4a18-8c15-67d75a1928da/console-operator/0.log 2025-11-25 10:03:08.998152 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-6m6pm_3c14528b-b8c0-4b6d-90c8-95904704d096/ 2025-11-25 10:03:08.998168 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-6m6pm_3c14528b-b8c0-4b6d-90c8-95904704d096/console/ 2025-11-25 10:03:08.998184 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_console-f9d7485db-6m6pm_3c14528b-b8c0-4b6d-90c8-95904704d096/console/0.log 2025-11-25 10:03:08.998201 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-dqksf_be35ecf5-83be-4063-9d6a-939bd1a78def/ 2025-11-25 10:03:08.998217 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-dqksf_be35ecf5-83be-4063-9d6a-939bd1a78def/download-server/ 2025-11-25 10:03:08.998233 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-dqksf_be35ecf5-83be-4063-9d6a-939bd1a78def/download-server/0.log 2025-11-25 10:03:08.998249 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-console_downloads-7954f5f757-dqksf_be35ecf5-83be-4063-9d6a-939bd1a78def/download-server/1.log 2025-11-25 10:03:08.998265 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-vflz8_62d3326f-6c05-47b4-852f-00ca08c502d1/ 2025-11-25 10:03:08.998281 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-vflz8_62d3326f-6c05-47b4-852f-00ca08c502d1/openshift-controller-manager-operator/ 2025-11-25 10:03:08.998298 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager-operator_openshift-controller-manager-operator-756b6f6bc6-vflz8_62d3326f-6c05-47b4-852f-00ca08c502d1/openshift-controller-manager-operator/0.log 2025-11-25 10:03:08.998318 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-557d587546-7pqt8_af860f8f-8503-414f-bec2-7c265ebe7003/ 2025-11-25 10:03:08.998334 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-557d587546-7pqt8_af860f8f-8503-414f-bec2-7c265ebe7003/controller-manager/ 2025-11-25 10:03:08.998350 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-controller-manager_controller-manager-557d587546-7pqt8_af860f8f-8503-414f-bec2-7c265ebe7003/controller-manager/0.log 2025-11-25 10:03:08.998366 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-2phng_665eefbd-7f4c-485c-9822-f4f3cc1a67a5/ 2025-11-25 10:03:08.998382 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-2phng_665eefbd-7f4c-485c-9822-f4f3cc1a67a5/dns-operator/ 2025-11-25 10:03:08.998398 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-2phng_665eefbd-7f4c-485c-9822-f4f3cc1a67a5/dns-operator/0.log 2025-11-25 10:03:08.998413 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-2phng_665eefbd-7f4c-485c-9822-f4f3cc1a67a5/kube-rbac-proxy/ 2025-11-25 10:03:08.998428 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns-operator_dns-operator-744455d44c-2phng_665eefbd-7f4c-485c-9822-f4f3cc1a67a5/kube-rbac-proxy/0.log 2025-11-25 10:03:08.998444 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-m4rhm_efcf38db-26a3-43b0-95d3-60578dd458e8/ 2025-11-25 10:03:08.998459 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-m4rhm_efcf38db-26a3-43b0-95d3-60578dd458e8/dns/ 2025-11-25 10:03:08.998480 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-m4rhm_efcf38db-26a3-43b0-95d3-60578dd458e8/dns/0.log 2025-11-25 10:03:08.998500 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-m4rhm_efcf38db-26a3-43b0-95d3-60578dd458e8/kube-rbac-proxy/ 2025-11-25 10:03:08.998517 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_dns-default-m4rhm_efcf38db-26a3-43b0-95d3-60578dd458e8/kube-rbac-proxy/0.log 2025-11-25 10:03:08.998533 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-sqcpf_4ce04403-9506-4775-83ce-62ced0a6f576/ 2025-11-25 10:03:08.998549 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-sqcpf_4ce04403-9506-4775-83ce-62ced0a6f576/dns-node-resolver/ 2025-11-25 10:03:08.998565 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-dns_node-resolver-sqcpf_4ce04403-9506-4775-83ce-62ced0a6f576/dns-node-resolver/0.log 2025-11-25 10:03:08.998581 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-xzqtm_f502af72-4499-47f8-adbf-8c1fa6aeddf9/ 2025-11-25 10:03:08.998597 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-xzqtm_f502af72-4499-47f8-adbf-8c1fa6aeddf9/etcd-operator/ 2025-11-25 10:03:08.998613 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd-operator_etcd-operator-b45778765-xzqtm_f502af72-4499-47f8-adbf-8c1fa6aeddf9/etcd-operator/0.log 2025-11-25 10:03:08.998629 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/ 2025-11-25 10:03:08.998650 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-ensure-env-vars/ 2025-11-25 10:03:08.998667 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-ensure-env-vars/0.log 2025-11-25 10:03:08.998824 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-metrics/ 2025-11-25 10:03:08.998854 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-metrics/0.log 2025-11-25 10:03:08.998872 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-readyz/ 2025-11-25 10:03:08.998890 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-readyz/0.log 2025-11-25 10:03:08.998907 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-resources-copy/ 2025-11-25 10:03:08.998924 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-resources-copy/0.log 2025-11-25 10:03:08.998941 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-rev/ 2025-11-25 10:03:08.998957 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd-rev/0.log 2025-11-25 10:03:08.998974 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd/ 2025-11-25 10:03:08.998990 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcd/0.log 2025-11-25 10:03:08.999007 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcdctl/ 2025-11-25 10:03:08.999023 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/etcdctl/0.log 2025-11-25 10:03:08.999040 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/setup/ 2025-11-25 10:03:08.999204 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-etcd_etcd-crc_2139d3e2895fc6797b9c76a1b4c9886d/setup/0.log 2025-11-25 10:03:08.999237 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-pnvcs_396d5204-fafd-4cad-b618-bf4642993d64/ 2025-11-25 10:03:08.999257 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-pnvcs_396d5204-fafd-4cad-b618-bf4642993d64/cluster-image-registry-operator/ 2025-11-25 10:03:08.999274 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_cluster-image-registry-operator-dc59b4c8b-pnvcs_396d5204-fafd-4cad-b618-bf4642993d64/cluster-image-registry-operator/0.log 2025-11-25 10:03:08.999291 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-9bt9w_9506c702-e9d0-4097-ba0a-35384d088233/ 2025-11-25 10:03:08.999308 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-9bt9w_9506c702-e9d0-4097-ba0a-35384d088233/registry/ 2025-11-25 10:03:08.999417 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_image-registry-66df7c8f76-9bt9w_9506c702-e9d0-4097-ba0a-35384d088233/registry/0.log 2025-11-25 10:03:08.999446 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-qhhvk_d67566fa-8990-4e98-93f5-b43f2bada700/ 2025-11-25 10:03:08.999465 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-qhhvk_d67566fa-8990-4e98-93f5-b43f2bada700/node-ca/ 2025-11-25 10:03:08.999486 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-image-registry_node-ca-qhhvk_d67566fa-8990-4e98-93f5-b43f2bada700/node-ca/0.log 2025-11-25 10:03:08.999663 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-mr42k_f503ad2e-0a8a-4e18-b2bd-7d0680c76b3f/ 2025-11-25 10:03:08.999725 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-mr42k_f503ad2e-0a8a-4e18-b2bd-7d0680c76b3f/serve-healthcheck-canary/ 2025-11-25 10:03:08.999753 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-canary_ingress-canary-mr42k_f503ad2e-0a8a-4e18-b2bd-7d0680c76b3f/serve-healthcheck-canary/0.log 2025-11-25 10:03:08.999771 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-ktlr9_8cd3ca49-4666-4bb9-a7de-10127d4cea72/ 2025-11-25 10:03:08.999788 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-ktlr9_8cd3ca49-4666-4bb9-a7de-10127d4cea72/ingress-operator/ 2025-11-25 10:03:08.999805 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-ktlr9_8cd3ca49-4666-4bb9-a7de-10127d4cea72/ingress-operator/0.log 2025-11-25 10:03:08.999821 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-ktlr9_8cd3ca49-4666-4bb9-a7de-10127d4cea72/kube-rbac-proxy/ 2025-11-25 10:03:08.999837 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress-operator_ingress-operator-5b745b69d9-ktlr9_8cd3ca49-4666-4bb9-a7de-10127d4cea72/kube-rbac-proxy/0.log 2025-11-25 10:03:08.999853 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-pc9l6_c673b63c-b34e-41b2-ad5f-c7b258ac9b26/ 2025-11-25 10:03:08.999869 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-pc9l6_c673b63c-b34e-41b2-ad5f-c7b258ac9b26/router/ 2025-11-25 10:03:08.999885 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ingress_router-default-5444994796-pc9l6_c673b63c-b34e-41b2-ad5f-c7b258ac9b26/router/0.log 2025-11-25 10:03:08.999900 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-rmm42_6ac31b82-a8a5-41d0-8588-828d292d6521/ 2025-11-25 10:03:08.999916 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-rmm42_6ac31b82-a8a5-41d0-8588-828d292d6521/kube-apiserver-operator/ 2025-11-25 10:03:08.999931 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver-operator_kube-apiserver-operator-766d6c64bb-rmm42_6ac31b82-a8a5-41d0-8588-828d292d6521/kube-apiserver-operator/0.log 2025-11-25 10:03:09.000052 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_installer-9-crc_09aaf86b-7cc8-4d2c-a0be-e0b22174c258/ 2025-11-25 10:03:09.000077 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_installer-9-crc_09aaf86b-7cc8-4d2c-a0be-e0b22174c258/installer/ 2025-11-25 10:03:09.000100 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_installer-9-crc_09aaf86b-7cc8-4d2c-a0be-e0b22174c258/installer/0.log 2025-11-25 10:03:09.000117 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/ 2025-11-25 10:03:09.000134 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-regeneration-controller/ 2025-11-25 10:03:09.000150 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-regeneration-controller/0.log 2025-11-25 10:03:09.000166 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-syncer/ 2025-11-25 10:03:09.000183 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-cert-syncer/0.log 2025-11-25 10:03:09.000198 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-check-endpoints/ 2025-11-25 10:03:09.000365 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-check-endpoints/0.log 2025-11-25 10:03:09.000394 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-insecure-readyz/ 2025-11-25 10:03:09.000415 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver-insecure-readyz/0.log 2025-11-25 10:03:09.000432 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver/ 2025-11-25 10:03:09.000448 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/kube-apiserver/0.log 2025-11-25 10:03:09.000464 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/setup/ 2025-11-25 10:03:09.000480 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-crc_71bb4a3aecc4ba5b26c4b7318770ce13/setup/0.log 2025-11-25 10:03:09.000496 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-startup-monitor-crc_f85e55b1a89d02b0cb034b1ea31ed45a/ 2025-11-25 10:03:09.000512 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-startup-monitor-crc_f85e55b1a89d02b0cb034b1ea31ed45a/startup-monitor/ 2025-11-25 10:03:09.000528 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_kube-apiserver-startup-monitor-crc_f85e55b1a89d02b0cb034b1ea31ed45a/startup-monitor/0.log 2025-11-25 10:03:09.000544 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_ffc24dff-415c-4699-a097-7d1bb364ce56/ 2025-11-25 10:03:09.000710 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_ffc24dff-415c-4699-a097-7d1bb364ce56/pruner/ 2025-11-25 10:03:09.000753 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-8-crc_ffc24dff-415c-4699-a097-7d1bb364ce56/pruner/0.log 2025-11-25 10:03:09.000777 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-9-crc_75640e54-3770-48c9-9b24-6186bfff6024/ 2025-11-25 10:03:09.000795 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-9-crc_75640e54-3770-48c9-9b24-6186bfff6024/pruner/ 2025-11-25 10:03:09.000812 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-apiserver_revision-pruner-9-crc_75640e54-3770-48c9-9b24-6186bfff6024/pruner/0.log 2025-11-25 10:03:09.000828 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-pgxfp_b18276dc-c893-45f6-a36d-37a8ae844715/ 2025-11-25 10:03:09.000844 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-pgxfp_b18276dc-c893-45f6-a36d-37a8ae844715/kube-controller-manager-operator/ 2025-11-25 10:03:09.000861 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager-operator_kube-controller-manager-operator-78b949d7b-pgxfp_b18276dc-c893-45f6-a36d-37a8ae844715/kube-controller-manager-operator/0.log 2025-11-25 10:03:09.000878 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/ 2025-11-25 10:03:09.000894 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/cluster-policy-controller/ 2025-11-25 10:03:09.000911 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/cluster-policy-controller/0.log 2025-11-25 10:03:09.000927 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-cert-syncer/ 2025-11-25 10:03:09.000943 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-cert-syncer/0.log 2025-11-25 10:03:09.000960 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-recovery-controller/ 2025-11-25 10:03:09.001163 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager-recovery-controller/0.log 2025-11-25 10:03:09.001192 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/ 2025-11-25 10:03:09.001211 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/0.log 2025-11-25 10:03:09.001228 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_kube-controller-manager-crc_f614b9022728cf315e60c057852e563e/kube-controller-manager/1.log 2025-11-25 10:03:09.001250 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_229cbb7c-c097-4228-825f-8d75e0e87d43/ 2025-11-25 10:03:09.001273 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_229cbb7c-c097-4228-825f-8d75e0e87d43/pruner/ 2025-11-25 10:03:09.001296 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-controller-manager_revision-pruner-9-crc_229cbb7c-c097-4228-825f-8d75e0e87d43/pruner/0.log 2025-11-25 10:03:09.001319 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-nbrjt_bd6c09ef-f524-4ca9-9104-f506b6784087/ 2025-11-25 10:03:09.001337 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-nbrjt_bd6c09ef-f524-4ca9-9104-f506b6784087/kube-scheduler-operator-container/ 2025-11-25 10:03:09.001354 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler-operator_openshift-kube-scheduler-operator-5fdd9b5758-nbrjt_bd6c09ef-f524-4ca9-9104-f506b6784087/kube-scheduler-operator-container/0.log 2025-11-25 10:03:09.001371 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/ 2025-11-25 10:03:09.001388 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-cert-syncer/ 2025-11-25 10:03:09.001405 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-cert-syncer/0.log 2025-11-25 10:03:09.001501 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-recovery-controller/ 2025-11-25 10:03:09.001529 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler-recovery-controller/0.log 2025-11-25 10:03:09.001547 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler/ 2025-11-25 10:03:09.001565 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/kube-scheduler/0.log 2025-11-25 10:03:09.001582 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/wait-for-host-port/ 2025-11-25 10:03:09.001598 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-scheduler_openshift-kube-scheduler-crc_3dcd261975c3d6b9a6ad6367fd4facd3/wait-for-host-port/0.log 2025-11-25 10:03:09.001615 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-c48tj_90a4f17b-b8b7-4aee-95c6-2c1ab0c3ebe0/ 2025-11-25 10:03:09.001631 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-c48tj_90a4f17b-b8b7-4aee-95c6-2c1ab0c3ebe0/kube-storage-version-migrator-operator/ 2025-11-25 10:03:09.001647 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator-operator_kube-storage-version-migrator-operator-b67b599dd-c48tj_90a4f17b-b8b7-4aee-95c6-2c1ab0c3ebe0/kube-storage-version-migrator-operator/0.log 2025-11-25 10:03:09.001664 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-ddc5m_a07365e2-39f2-47a6-b55d-38999cba5ea3/ 2025-11-25 10:03:09.001697 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-ddc5m_a07365e2-39f2-47a6-b55d-38999cba5ea3/graceful-termination/ 2025-11-25 10:03:09.001951 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-ddc5m_a07365e2-39f2-47a6-b55d-38999cba5ea3/graceful-termination/0.log 2025-11-25 10:03:09.001975 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-ddc5m_a07365e2-39f2-47a6-b55d-38999cba5ea3/migrator/ 2025-11-25 10:03:09.001993 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-kube-storage-version-migrator_migrator-59844c95c7-ddc5m_a07365e2-39f2-47a6-b55d-38999cba5ea3/migrator/0.log 2025-11-25 10:03:09.002011 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-nr7rm_94b4f653-06ce-483a-9da8-9cf32064525e/ 2025-11-25 10:03:09.002028 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-nr7rm_94b4f653-06ce-483a-9da8-9cf32064525e/control-plane-machine-set-operator/ 2025-11-25 10:03:09.002045 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_control-plane-machine-set-operator-78cbb6b69f-nr7rm_94b4f653-06ce-483a-9da8-9cf32064525e/control-plane-machine-set-operator/0.log 2025-11-25 10:03:09.002061 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-dcwsq_7e7ee74e-3385-49ba-83bb-c03f4ec7fdb5/ 2025-11-25 10:03:09.002078 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-dcwsq_7e7ee74e-3385-49ba-83bb-c03f4ec7fdb5/kube-rbac-proxy/ 2025-11-25 10:03:09.002094 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-dcwsq_7e7ee74e-3385-49ba-83bb-c03f4ec7fdb5/kube-rbac-proxy/0.log 2025-11-25 10:03:09.002111 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-dcwsq_7e7ee74e-3385-49ba-83bb-c03f4ec7fdb5/machine-api-operator/ 2025-11-25 10:03:09.002127 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-api_machine-api-operator-5694c8668f-dcwsq_7e7ee74e-3385-49ba-83bb-c03f4ec7fdb5/machine-api-operator/0.log 2025-11-25 10:03:09.002143 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/ 2025-11-25 10:03:09.002159 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/kube-rbac-proxy-crio/ 2025-11-25 10:03:09.002269 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/kube-rbac-proxy-crio/0.log 2025-11-25 10:03:09.002290 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/setup/ 2025-11-25 10:03:09.002307 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_kube-rbac-proxy-crio-crc_d1b160f5dda77d281dd8e69ec8d817f9/setup/0.log 2025-11-25 10:03:09.002324 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-9h7bw_3c1294ee-c0f8-487b-9639-1281c3b687ed/ 2025-11-25 10:03:09.002340 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-9h7bw_3c1294ee-c0f8-487b-9639-1281c3b687ed/kube-rbac-proxy/ 2025-11-25 10:03:09.002360 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-9h7bw_3c1294ee-c0f8-487b-9639-1281c3b687ed/kube-rbac-proxy/0.log 2025-11-25 10:03:09.002377 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-9h7bw_3c1294ee-c0f8-487b-9639-1281c3b687ed/machine-config-controller/ 2025-11-25 10:03:09.002394 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-controller-84d6567774-9h7bw_3c1294ee-c0f8-487b-9639-1281c3b687ed/machine-config-controller/0.log 2025-11-25 10:03:09.002411 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-2n2f8_b0d83cc3-d8b2-4fb4-9210-ee1298ae94a1/ 2025-11-25 10:03:09.002427 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-2n2f8_b0d83cc3-d8b2-4fb4-9210-ee1298ae94a1/kube-rbac-proxy/ 2025-11-25 10:03:09.002443 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-2n2f8_b0d83cc3-d8b2-4fb4-9210-ee1298ae94a1/kube-rbac-proxy/0.log 2025-11-25 10:03:09.002460 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-2n2f8_b0d83cc3-d8b2-4fb4-9210-ee1298ae94a1/machine-config-daemon/ 2025-11-25 10:03:09.002476 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-2n2f8_b0d83cc3-d8b2-4fb4-9210-ee1298ae94a1/machine-config-daemon/7.log 2025-11-25 10:03:09.002492 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-daemon-2n2f8_b0d83cc3-d8b2-4fb4-9210-ee1298ae94a1/machine-config-daemon/8.log 2025-11-25 10:03:09.002634 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-b9pbx_f3b07318-384d-4be4-9784-27312c2429dc/ 2025-11-25 10:03:09.002656 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-b9pbx_f3b07318-384d-4be4-9784-27312c2429dc/kube-rbac-proxy/ 2025-11-25 10:03:09.002673 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-b9pbx_f3b07318-384d-4be4-9784-27312c2429dc/kube-rbac-proxy/0.log 2025-11-25 10:03:09.002711 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-b9pbx_f3b07318-384d-4be4-9784-27312c2429dc/machine-config-operator/ 2025-11-25 10:03:09.002729 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-operator-74547568cd-b9pbx_f3b07318-384d-4be4-9784-27312c2429dc/machine-config-operator/0.log 2025-11-25 10:03:09.002745 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-kh9hk_d9e9d0ee-441c-46f3-9913-db2719215839/ 2025-11-25 10:03:09.002762 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-kh9hk_d9e9d0ee-441c-46f3-9913-db2719215839/machine-config-server/ 2025-11-25 10:03:09.002779 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-machine-config-operator_machine-config-server-kh9hk_d9e9d0ee-441c-46f3-9913-db2719215839/machine-config-server/0.log 2025-11-25 10:03:09.002795 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/ 2025-11-25 10:03:09.002815 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/extract-content/ 2025-11-25 10:03:09.002832 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/extract-content/0.log 2025-11-25 10:03:09.002848 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/extract-utilities/ 2025-11-25 10:03:09.002864 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/extract-utilities/0.log 2025-11-25 10:03:09.002975 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/registry-server/ 2025-11-25 10:03:09.002996 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_certified-operators-rg94t_d0ceab4a-1500-4bc7-b5f6-25e89f57bce8/registry-server/0.log.gz 2025-11-25 10:03:09.003013 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/ 2025-11-25 10:03:09.003030 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/extract-content/ 2025-11-25 10:03:09.003047 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/extract-content/0.log 2025-11-25 10:03:09.003063 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/extract-utilities/ 2025-11-25 10:03:09.003080 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/extract-utilities/0.log 2025-11-25 10:03:09.003096 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/registry-server/ 2025-11-25 10:03:09.003113 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_community-operators-q4n48_66ce08e8-5d8b-41bf-b896-8b1c1336299d/registry-server/0.log.gz 2025-11-25 10:03:09.003129 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/ 2025-11-25 10:03:09.003145 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/extract/ 2025-11-25 10:03:09.003160 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/extract/0.log 2025-11-25 10:03:09.003176 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/pull/ 2025-11-25 10:03:09.003192 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/pull/0.log 2025-11-25 10:03:09.003209 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/util/ 2025-11-25 10:03:09.003324 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_e8527aae5664f20f24bf3bbb3fd2981ba838928a8a47ce599ee258e4c6mff8w_f1910d43-3749-46f2-9ea2-9c3a75c6bda6/util/0.log 2025-11-25 10:03:09.003350 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-rvq8p_c4b3d5c9-6b58-4f1a-bfb2-c39d7a00c746/ 2025-11-25 10:03:09.003367 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-rvq8p_c4b3d5c9-6b58-4f1a-bfb2-c39d7a00c746/marketplace-operator/ 2025-11-25 10:03:09.003384 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_marketplace-operator-79b997595-rvq8p_c4b3d5c9-6b58-4f1a-bfb2-c39d7a00c746/marketplace-operator/0.log 2025-11-25 10:03:09.003400 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/ 2025-11-25 10:03:09.003416 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/extract-content/ 2025-11-25 10:03:09.003432 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/extract-content/0.log 2025-11-25 10:03:09.003448 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/extract-utilities/ 2025-11-25 10:03:09.003464 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/extract-utilities/0.log 2025-11-25 10:03:09.003480 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/registry-server/ 2025-11-25 10:03:09.003495 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-marketplace-fxzr8_b27389c9-6b13-421e-adfc-0d290d42974a/registry-server/0.log 2025-11-25 10:03:09.003511 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/ 2025-11-25 10:03:09.003527 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/extract-content/ 2025-11-25 10:03:09.003543 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/extract-content/0.log 2025-11-25 10:03:09.003704 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/extract-utilities/ 2025-11-25 10:03:09.003730 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/extract-utilities/0.log 2025-11-25 10:03:09.003748 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/registry-server/ 2025-11-25 10:03:09.003764 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-marketplace_redhat-operators-4lj7p_473a37db-4499-4761-9a44-137ceb74dec4/registry-server/0.log.gz 2025-11-25 10:03:09.003780 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-7t7mh_80259512-c4ac-4362-b21e-386796e31645/ 2025-11-25 10:03:09.003797 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-7t7mh_80259512-c4ac-4362-b21e-386796e31645/kube-multus/ 2025-11-25 10:03:09.003817 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-7t7mh_80259512-c4ac-4362-b21e-386796e31645/kube-multus/2.log 2025-11-25 10:03:09.003838 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-7t7mh_80259512-c4ac-4362-b21e-386796e31645/kube-multus/3.log 2025-11-25 10:03:09.003866 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/ 2025-11-25 10:03:09.003888 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/bond-cni-plugin/ 2025-11-25 10:03:09.003910 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/bond-cni-plugin/0.log 2025-11-25 10:03:09.003932 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/cni-plugins/ 2025-11-25 10:03:09.003952 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/cni-plugins/0.log 2025-11-25 10:03:09.004072 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/egress-router-binary-copy/ 2025-11-25 10:03:09.004112 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/egress-router-binary-copy/0.log 2025-11-25 10:03:09.004136 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/kube-multus-additional-cni-plugins/ 2025-11-25 10:03:09.004158 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/kube-multus-additional-cni-plugins/0.log 2025-11-25 10:03:09.004179 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/routeoverride-cni/ 2025-11-25 10:03:09.004199 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/routeoverride-cni/0.log 2025-11-25 10:03:09.004220 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/whereabouts-cni-bincopy/ 2025-11-25 10:03:09.004240 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/whereabouts-cni-bincopy/0.log 2025-11-25 10:03:09.004261 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/whereabouts-cni/ 2025-11-25 10:03:09.004281 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-additional-cni-plugins-jg2nq_4da62509-e117-444b-9f78-c5c9e52b1b87/whereabouts-cni/0.log 2025-11-25 10:03:09.004301 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-67tg6_f98607ff-98e0-4c9b-836a-80db389b4529/ 2025-11-25 10:03:09.004323 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-67tg6_f98607ff-98e0-4c9b-836a-80db389b4529/kube-rbac-proxy/ 2025-11-25 10:03:09.004734 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-67tg6_f98607ff-98e0-4c9b-836a-80db389b4529/kube-rbac-proxy/0.log 2025-11-25 10:03:09.004977 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-67tg6_f98607ff-98e0-4c9b-836a-80db389b4529/multus-admission-controller/ 2025-11-25 10:03:09.005006 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_multus-admission-controller-857f4d67dd-67tg6_f98607ff-98e0-4c9b-836a-80db389b4529/multus-admission-controller/0.log 2025-11-25 10:03:09.005025 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-tfr8m_54363663-3559-4203-bf8f-03e3bf4d1127/ 2025-11-25 10:03:09.005043 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-tfr8m_54363663-3559-4203-bf8f-03e3bf4d1127/kube-rbac-proxy/ 2025-11-25 10:03:09.005060 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-tfr8m_54363663-3559-4203-bf8f-03e3bf4d1127/kube-rbac-proxy/0.log 2025-11-25 10:03:09.005076 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-tfr8m_54363663-3559-4203-bf8f-03e3bf4d1127/network-metrics-daemon/ 2025-11-25 10:03:09.005092 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-multus_network-metrics-daemon-tfr8m_54363663-3559-4203-bf8f-03e3bf4d1127/network-metrics-daemon/0.log 2025-11-25 10:03:09.005108 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-console_networking-console-plugin-85b44fc459-gdk6g_5fe485a1-e14f-4c09-b5b9-f252bc42b7e8/ 2025-11-25 10:03:09.005123 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-console_networking-console-plugin-85b44fc459-gdk6g_5fe485a1-e14f-4c09-b5b9-f252bc42b7e8/networking-console-plugin/ 2025-11-25 10:03:09.005140 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-console_networking-console-plugin-85b44fc459-gdk6g_5fe485a1-e14f-4c09-b5b9-f252bc42b7e8/networking-console-plugin/0.log 2025-11-25 10:03:09.005156 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-source-55646444c4-trplf_9d751cbb-f2e2-430d-9754-c882a5e924a5/ 2025-11-25 10:03:09.005172 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-source-55646444c4-trplf_9d751cbb-f2e2-430d-9754-c882a5e924a5/check-endpoints/ 2025-11-25 10:03:09.005189 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-source-55646444c4-trplf_9d751cbb-f2e2-430d-9754-c882a5e924a5/check-endpoints/0.log 2025-11-25 10:03:09.005205 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/ 2025-11-25 10:03:09.005222 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/network-check-target-container/ 2025-11-25 10:03:09.005343 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-diagnostics_network-check-target-xd92c_3b6479f0-333b-4a96-9adf-2099afdc2447/network-check-target-container/0.log 2025-11-25 10:03:09.005368 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/ 2025-11-25 10:03:09.005386 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/approver/ 2025-11-25 10:03:09.005408 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/approver/0.log 2025-11-25 10:03:09.005424 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/webhook/ 2025-11-25 10:03:09.005441 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-node-identity_network-node-identity-vrzqb_ef543e1b-8068-4ea3-b32a-61027b32e95d/webhook/0.log 2025-11-25 10:03:09.005456 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/ 2025-11-25 10:03:09.005472 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/iptables-alerter/ 2025-11-25 10:03:09.005488 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_iptables-alerter-4ln5h_d75a4c96-2883-4a0b-bab2-0fab2b6c0b49/iptables-alerter/0.log 2025-11-25 10:03:09.005503 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/ 2025-11-25 10:03:09.005519 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/network-operator/ 2025-11-25 10:03:09.005535 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-network-operator_network-operator-58b4c7f79c-55gtf_37a5e44f-9a88-4405-be8a-b645485e7312/network-operator/0.log 2025-11-25 10:03:09.005551 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-5jtcs_30dd5c51-7a6e-4571-b3ae-c33150488286/ 2025-11-25 10:03:09.005567 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-5jtcs_30dd5c51-7a6e-4571-b3ae-c33150488286/fix-audit-permissions/ 2025-11-25 10:03:09.005583 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-5jtcs_30dd5c51-7a6e-4571-b3ae-c33150488286/fix-audit-permissions/0.log 2025-11-25 10:03:09.005775 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-5jtcs_30dd5c51-7a6e-4571-b3ae-c33150488286/oauth-apiserver/ 2025-11-25 10:03:09.005802 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-oauth-apiserver_apiserver-7bbb656c7d-5jtcs_30dd5c51-7a6e-4571-b3ae-c33150488286/oauth-apiserver/0.log 2025-11-25 10:03:09.005820 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-ncw46_96ac3c5a-8e5f-41f6-9668-ae0ac1f47326/ 2025-11-25 10:03:09.005837 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-ncw46_96ac3c5a-8e5f-41f6-9668-ae0ac1f47326/catalog-operator/ 2025-11-25 10:03:09.005854 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_catalog-operator-68c6474976-ncw46_96ac3c5a-8e5f-41f6-9668-ae0ac1f47326/catalog-operator/0.log 2025-11-25 10:03:09.005870 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401050-4d6wn_61b7ec5c-9240-4232-b303-6a4978e53beb/ 2025-11-25 10:03:09.005888 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401050-4d6wn_61b7ec5c-9240-4232-b303-6a4978e53beb/collect-profiles/ 2025-11-25 10:03:09.005909 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401050-4d6wn_61b7ec5c-9240-4232-b303-6a4978e53beb/collect-profiles/0.log 2025-11-25 10:03:09.005926 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401065-s4265_f3bf2393-e9a6-4567-b77a-4913f30ce267/ 2025-11-25 10:03:09.005942 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401065-s4265_f3bf2393-e9a6-4567-b77a-4913f30ce267/collect-profiles/ 2025-11-25 10:03:09.005958 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401065-s4265_f3bf2393-e9a6-4567-b77a-4913f30ce267/collect-profiles/0.log 2025-11-25 10:03:09.005974 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401080-fqjxh_436dd01d-984f-415f-9d39-a64d3adf6e0a/ 2025-11-25 10:03:09.005990 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401080-fqjxh_436dd01d-984f-415f-9d39-a64d3adf6e0a/collect-profiles/ 2025-11-25 10:03:09.006005 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_collect-profiles-29401080-fqjxh_436dd01d-984f-415f-9d39-a64d3adf6e0a/collect-profiles/0.log 2025-11-25 10:03:09.006021 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-bmmjg_2af950d7-5574-421c-a368-2f4a74be9344/ 2025-11-25 10:03:09.006137 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-bmmjg_2af950d7-5574-421c-a368-2f4a74be9344/olm-operator/ 2025-11-25 10:03:09.006157 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_olm-operator-6b444d44fb-bmmjg_2af950d7-5574-421c-a368-2f4a74be9344/olm-operator/0.log 2025-11-25 10:03:09.006174 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-jbtkt_2eae88c3-e1c2-4990-9db0-50995f7d2696/ 2025-11-25 10:03:09.006191 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-jbtkt_2eae88c3-e1c2-4990-9db0-50995f7d2696/kube-rbac-proxy/ 2025-11-25 10:03:09.006208 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-jbtkt_2eae88c3-e1c2-4990-9db0-50995f7d2696/kube-rbac-proxy/0.log 2025-11-25 10:03:09.006224 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-jbtkt_2eae88c3-e1c2-4990-9db0-50995f7d2696/package-server-manager/ 2025-11-25 10:03:09.006241 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_package-server-manager-789f6589d5-jbtkt_2eae88c3-e1c2-4990-9db0-50995f7d2696/package-server-manager/0.log 2025-11-25 10:03:09.006257 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-59nlg_e42c2e28-78c7-400d-97f3-ba7ac7336c1d/ 2025-11-25 10:03:09.006273 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-59nlg_e42c2e28-78c7-400d-97f3-ba7ac7336c1d/packageserver/ 2025-11-25 10:03:09.006290 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-operator-lifecycle-manager_packageserver-d55dfcdfc-59nlg_e42c2e28-78c7-400d-97f3-ba7ac7336c1d/packageserver/0.log 2025-11-25 10:03:09.006311 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-5xjzg_83557809-7515-4cc3-afab-e940ed4b823f/ 2025-11-25 10:03:09.006328 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-5xjzg_83557809-7515-4cc3-afab-e940ed4b823f/kube-rbac-proxy/ 2025-11-25 10:03:09.006344 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-5xjzg_83557809-7515-4cc3-afab-e940ed4b823f/kube-rbac-proxy/0.log 2025-11-25 10:03:09.006360 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-5xjzg_83557809-7515-4cc3-afab-e940ed4b823f/ovnkube-cluster-manager/ 2025-11-25 10:03:09.006376 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-control-plane-749d76644c-5xjzg_83557809-7515-4cc3-afab-e940ed4b823f/ovnkube-cluster-manager/0.log 2025-11-25 10:03:09.006392 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ 2025-11-25 10:03:09.006408 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/kube-rbac-proxy-node/ 2025-11-25 10:03:09.006743 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/kube-rbac-proxy-node/0.log 2025-11-25 10:03:09.006770 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/kube-rbac-proxy-ovn-metrics/ 2025-11-25 10:03:09.006789 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/kube-rbac-proxy-ovn-metrics/0.log 2025-11-25 10:03:09.006806 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/kubecfg-setup/ 2025-11-25 10:03:09.006823 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/kubecfg-setup/0.log 2025-11-25 10:03:09.006840 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/nbdb/ 2025-11-25 10:03:09.006856 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/nbdb/0.log 2025-11-25 10:03:09.006873 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/northd/ 2025-11-25 10:03:09.006889 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/northd/0.log 2025-11-25 10:03:09.006905 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ovn-acl-logging/ 2025-11-25 10:03:09.006921 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ovn-acl-logging/0.log 2025-11-25 10:03:09.006936 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ovn-controller/ 2025-11-25 10:03:09.006957 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ovn-controller/0.log 2025-11-25 10:03:09.006973 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ovnkube-controller/ 2025-11-25 10:03:09.006989 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/ovnkube-controller/0.log.gz 2025-11-25 10:03:09.007005 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/sbdb/ 2025-11-25 10:03:09.007021 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-ovn-kubernetes_ovnkube-node-z2jkk_79913912-1ec6-4538-a4ac-03a7e2ac199f/sbdb/0.log 2025-11-25 10:03:09.007356 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-7bcd7d9658-q464m_7f0815df-11e8-4fd0-90fa-c878a6ca5646/ 2025-11-25 10:03:09.007384 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-7bcd7d9658-q464m_7f0815df-11e8-4fd0-90fa-c878a6ca5646/route-controller-manager/ 2025-11-25 10:03:09.007404 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-route-controller-manager_route-controller-manager-7bcd7d9658-q464m_7f0815df-11e8-4fd0-90fa-c878a6ca5646/route-controller-manager/0.log 2025-11-25 10:03:09.007422 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-86g8w_f0bde9ec-13b8-4565-b5f4-d2b2a308ab03/ 2025-11-25 10:03:09.007439 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-86g8w_f0bde9ec-13b8-4565-b5f4-d2b2a308ab03/service-ca-operator/ 2025-11-25 10:03:09.007455 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca-operator_service-ca-operator-777779d784-86g8w_f0bde9ec-13b8-4565-b5f4-d2b2a308ab03/service-ca-operator/0.log 2025-11-25 10:03:09.007472 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-hf5p7_0eecaac3-4db7-4d35-8387-31050571269f/ 2025-11-25 10:03:09.007488 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-hf5p7_0eecaac3-4db7-4d35-8387-31050571269f/service-ca-controller/ 2025-11-25 10:03:09.007505 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openshift-service-ca_service-ca-9c57cc56f-hf5p7_0eecaac3-4db7-4d35-8387-31050571269f/service-ca-controller/0.log 2025-11-25 10:03:09.007521 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/ 2025-11-25 10:03:09.007537 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/extract/ 2025-11-25 10:03:09.007553 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/extract/0.log 2025-11-25 10:03:09.007569 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/pull/ 2025-11-25 10:03:09.007585 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/pull/0.log 2025-11-25 10:03:09.007606 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/util/ 2025-11-25 10:03:09.007622 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_5d473c3169f40b179d14921c90af2c8546b7b757fe551b7dba7d903f5dqqb8l_8d8e91f8-218d-4871-91e1-e807206738f4/util/0.log 2025-11-25 10:03:09.007810 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/ 2025-11-25 10:03:09.007838 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/extract/ 2025-11-25 10:03:09.007857 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/extract/0.log 2025-11-25 10:03:09.007879 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/pull/ 2025-11-25 10:03:09.007901 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/pull/0.log 2025-11-25 10:03:09.007918 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/util/ 2025-11-25 10:03:09.007935 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_6bc881fae556025ca36ba7bf9e8c0526ac6204c748e79091b6b4c25fe3h9xkc_f8708ff3-d7c1-4565-8300-4742a87d7c84/util/0.log 2025-11-25 10:03:09.007951 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/ 2025-11-25 10:03:09.007968 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/extract/ 2025-11-25 10:03:09.007985 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/extract/0.log 2025-11-25 10:03:09.008001 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/pull/ 2025-11-25 10:03:09.008017 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/pull/0.log 2025-11-25 10:03:09.008243 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/util/ 2025-11-25 10:03:09.008268 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_9704761d240e56fb98655ffd81084895b33a73ec711f4dcdef0450e5906vq4g_2144a9a2-0e34-4398-9789-46f70449d569/util/0.log 2025-11-25 10:03:09.008286 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/ 2025-11-25 10:03:09.008307 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/extract/ 2025-11-25 10:03:09.008324 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/extract/0.log 2025-11-25 10:03:09.008340 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/pull/ 2025-11-25 10:03:09.008373 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/pull/0.log 2025-11-25 10:03:09.008392 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/util/ 2025-11-25 10:03:09.008409 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_c976308faac62824ee875fa80dce4db57a79e32adb8a627dd31cdf72f6c9q8m_d1b07d68-ac56-4779-a322-25885bec56a4/util/0.log 2025-11-25 10:03:09.008425 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-68875f9666-bkfdd_842336e7-3fca-4ce9-b030-735f9fa84367/ 2025-11-25 10:03:09.008586 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-68875f9666-bkfdd_842336e7-3fca-4ce9-b030-735f9fa84367/kube-rbac-proxy/ 2025-11-25 10:03:09.008615 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-68875f9666-bkfdd_842336e7-3fca-4ce9-b030-735f9fa84367/kube-rbac-proxy/0.log 2025-11-25 10:03:09.008633 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-68875f9666-bkfdd_842336e7-3fca-4ce9-b030-735f9fa84367/manager/ 2025-11-25 10:03:09.008651 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-controller-manager-68875f9666-bkfdd_842336e7-3fca-4ce9-b030-735f9fa84367/manager/2.log 2025-11-25 10:03:09.008667 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-ffbkf_264193c8-d7e4-43f9-ba29-55707b591bd4/ 2025-11-25 10:03:09.008710 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-ffbkf_264193c8-d7e4-43f9-ba29-55707b591bd4/registry-server/ 2025-11-25 10:03:09.008729 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_infra-operator-index-ffbkf_264193c8-d7e4-43f9-ba29-55707b591bd4/registry-server/0.log 2025-11-25 10:03:09.008750 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-59fbfdbcd7-cvvvx_eeac7687-6578-41aa-99da-c576d6162d9e/ 2025-11-25 10:03:09.008775 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-59fbfdbcd7-cvvvx_eeac7687-6578-41aa-99da-c576d6162d9e/manager/ 2025-11-25 10:03:09.008889 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-controller-manager-59fbfdbcd7-cvvvx_eeac7687-6578-41aa-99da-c576d6162d9e/manager/2.log 2025-11-25 10:03:09.008912 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-vf5n5_4e0cde2c-ad49-41db-8ec7-a3c02a26fb3b/ 2025-11-25 10:03:09.008929 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-vf5n5_4e0cde2c-ad49-41db-8ec7-a3c02a26fb3b/registry-server/ 2025-11-25 10:03:09.008950 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_keystone-operator-index-vf5n5_4e0cde2c-ad49-41db-8ec7-a3c02a26fb3b/registry-server/0.log 2025-11-25 10:03:09.008967 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-7d8c8fd467-kkqb8_ae285841-6883-40fd-aa4c-dc13e1afdf95/ 2025-11-25 10:03:09.008983 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-7d8c8fd467-kkqb8_ae285841-6883-40fd-aa4c-dc13e1afdf95/manager/ 2025-11-25 10:03:09.009000 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-controller-manager-7d8c8fd467-kkqb8_ae285841-6883-40fd-aa4c-dc13e1afdf95/manager/3.log 2025-11-25 10:03:09.009016 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-qkvtg_7ec39d55-38e5-41fc-a8ab-91b874879bd9/ 2025-11-25 10:03:09.009032 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-qkvtg_7ec39d55-38e5-41fc-a8ab-91b874879bd9/registry-server/ 2025-11-25 10:03:09.009048 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_mariadb-operator-index-qkvtg_7ec39d55-38e5-41fc-a8ab-91b874879bd9/registry-server/0.log 2025-11-25 10:03:09.009064 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-7tv4k_d552db43-2924-4931-a15d-f8803531210f/ 2025-11-25 10:03:09.009080 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-7tv4k_d552db43-2924-4931-a15d-f8803531210f/operator/ 2025-11-25 10:03:09.009096 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-779fc9694b-7tv4k_d552db43-2924-4931-a15d-f8803531210f/operator/2.log 2025-11-25 10:03:09.009111 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-zpkc8_4a78f462-c9e1-48e7-a4d1-f459bef3ae77/ 2025-11-25 10:03:09.009262 | controller | cd+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-zpkc8_4a78f462-c9e1-48e7-a4d1-f459bef3ae77/registry-server/ 2025-11-25 10:03:09.009288 | controller | >f+++++++++ ci-framework-data/logs/crc/crc-logs-artifacts/pods/openstack-operators_rabbitmq-cluster-operator-index-zpkc8_4a78f462-c9e1-48e7-a4d1-f459bef3ae77/registry-server/0.log 2025-11-25 10:03:09.009306 | controller | cd+++++++++ ci-framework-data/logs/openstack-must-gather/ 2025-11-25 10:03:09.009324 | controller | >f+++++++++ ci-framework-data/logs/openstack-must-gather/event-filter.html 2025-11-25 10:03:09.009341 | controller | >f+++++++++ ci-framework-data/logs/openstack-must-gather/must-gather.logs 2025-11-25 10:03:09.009361 | controller | >f+++++++++ ci-framework-data/logs/openstack-must-gather/timestamp 2025-11-25 10:03:09.009378 | controller | cd+++++++++ ci-framework-data/tests/ 2025-11-25 10:03:09.009395 | controller | cd+++++++++ ci-framework-data/tests/kuttl_keystone/ 2025-11-25 10:03:09.009412 | controller | >f+++++++++ ci-framework-data/tests/kuttl_keystone/kuttl-report-keystone.xml 2025-11-25 10:03:09.009516 | controller | cd+++++++++ registries.conf.d/ 2025-11-25 10:03:09.009822 | controller | >f+++++++++ registries.conf.d/000-shortnames.conf 2025-11-25 10:03:09.009853 | controller | cd+++++++++ system-config/ 2025-11-25 10:03:09.009873 | controller | cd+++++++++ system-config/libvirt/ 2025-11-25 10:03:09.009890 | controller | >f+++++++++ system-config/libvirt/libvirt-admin.conf 2025-11-25 10:03:09.009914 | controller | >f+++++++++ system-config/libvirt/libvirt.conf 2025-11-25 10:03:09.443469 | controller | changed: .d..t...... ./ 2025-11-25 10:03:09.962254 | controller | changed: .d..t...... ./ 2025-11-25 10:03:10.026211 | 2025-11-25 10:03:10.026330 | TASK [Return artifact to Zuul] 2025-11-25 10:03:10.071149 | controller | skipping: Conditional result was False 2025-11-25 10:03:10.211643 | 2025-11-25 10:03:10.211764 | PLAY [Run ci/playbooks/collect-logs.yml on CRC host] 2025-11-25 10:03:10.233073 | 2025-11-25 10:03:10.233160 | TASK [Get kubelet journalctl logs] 2025-11-25 10:03:11.273076 | crc | Output suppressed because no_log was given 2025-11-25 10:03:11.330627 | 2025-11-25 10:03:11.330811 | PLAY RECAP 2025-11-25 10:03:11.330885 | controller | ok: 15 changed: 11 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 1 2025-11-25 10:03:11.330934 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 10:03:11.330963 | 2025-11-25 10:03:11.467084 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml@main] 2025-11-25 10:03:11.470662 | POST-RUN START: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml@main] 2025-11-25 10:03:12.059467 | 2025-11-25 10:03:12.059627 | PLAY [Run ci/playbooks/multinode-autohold.yml] 2025-11-25 10:03:12.139172 | 2025-11-25 10:03:12.139298 | TASK [Verify if "success" flag exists after successful tests execution] 2025-11-25 10:03:12.736088 | controller | ok 2025-11-25 10:03:12.759339 | 2025-11-25 10:03:12.759448 | TASK [Fetch existing autoholds from zuul] 2025-11-25 10:03:12.839049 | controller | ok 2025-11-25 10:03:12.890482 | 2025-11-25 10:03:12.890592 | TASK [krb_request : Perform the request] 2025-11-25 10:03:13.575459 | controller | ok 2025-11-25 10:03:13.668520 | 2025-11-25 10:03:13.668653 | TASK [Check if any autohold matches] 2025-11-25 10:03:13.765829 | controller | skipping: Conditional result was False 2025-11-25 10:03:13.908242 | 2025-11-25 10:03:13.908352 | PLAY RECAP 2025-11-25 10:03:13.908396 | controller | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 1 rescued: 0 ignored: 0 2025-11-25 10:03:13.908420 | 2025-11-25 10:03:14.018528 | POST-RUN END RESULT_NORMAL: [untrusted : github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml@main] 2025-11-25 10:03:14.027504 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml@master] 2025-11-25 10:03:14.673563 | 2025-11-25 10:03:14.673706 | PLAY [crc] 2025-11-25 10:03:14.703034 | 2025-11-25 10:03:14.703131 | TASK [Print machineconfigpool] 2025-11-25 10:03:15.539558 | crc | NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE 2025-11-25 10:03:15.551421 | crc | master rendered-master-f83a149c7490c3b0bf850df839837383 False False True 1 0 0 1 275d 2025-11-25 10:03:15.551627 | crc | worker rendered-worker-2dad27a6a986425332fba55841d3865e True False False 0 0 0 0 275d 2025-11-25 10:03:15.759213 | crc | changed 2025-11-25 10:03:15.797606 | 2025-11-25 10:03:15.797755 | PLAY RECAP 2025-11-25 10:03:15.797821 | crc | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 10:03:15.797854 | 2025-11-25 10:03:15.908844 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml@master] 2025-11-25 10:03:15.914136 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/compress-crc-cloud-logs.yaml@master] 2025-11-25 10:03:16.487733 | 2025-11-25 10:03:16.487842 | PLAY [crc] 2025-11-25 10:03:16.515257 | 2025-11-25 10:03:16.515377 | TASK [Create compressed log tar gz file - crc-cloud logs] 2025-11-25 10:03:17.230962 | crc | tar: Removing leading `/' from member names 2025-11-25 10:03:17.240220 | crc | tar: /var/home/core/workdir/*log: Cannot stat: No such file or directory 2025-11-25 10:03:17.240288 | crc | tar: Exiting with failure status due to previous errors 2025-11-25 10:03:17.580480 | crc | ok 2025-11-25 10:03:17.597303 | 2025-11-25 10:03:17.597450 | TASK [Copy crc-cloud logs] 2025-11-25 10:03:17.997439 | crc | cp: cannot stat '/var/home/core/workdir/*log': No such file or directory 2025-11-25 10:03:18.165467 | crc | ok 2025-11-25 10:03:18.231318 | 2025-11-25 10:03:18.231459 | PLAY RECAP 2025-11-25 10:03:18.231550 | crc | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 10:03:18.231596 | 2025-11-25 10:03:18.373269 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/compress-crc-cloud-logs.yaml@master] 2025-11-25 10:03:18.377233 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/compress-logs.yaml@master] 2025-11-25 10:03:19.016451 | 2025-11-25 10:03:19.016582 | PLAY [all] 2025-11-25 10:03:19.113111 | 2025-11-25 10:03:19.113249 | TASK [Create compressed log tar gz file - ci-framework-data] 2025-11-25 10:03:19.873825 | controller | tar: Removing leading `/' from member names 2025-11-25 10:03:19.988883 | crc | tar: Removing leading `/' from member names 2025-11-25 10:03:20.040568 | crc | tar: /var/home/core/ci-framework-data: Cannot stat: No such file or directory 2025-11-25 10:03:20.040622 | crc | tar: Exiting with failure status due to previous errors 2025-11-25 10:03:20.040631 | crc | mv: cannot move '/var/home/core/ci-framework-data-crc-all-logs.tar.gz' to '/var/home/core/ci-framework-data/logs/ci-framework-data-crc-all-logs.tar.gz': No such file or directory 2025-11-25 10:03:20.040643 | crc | chown: cannot access '/var/home/core/ci-framework-data/logs/ci-framework-data-crc-all-logs.tar.gz': No such file or directory 2025-11-25 10:03:20.322202 | crc | ERROR 2025-11-25 10:03:20.322536 | crc | { 2025-11-25 10:03:20.322656 | crc | "delta": "0:00:00.063352", 2025-11-25 10:03:20.322788 | crc | "end": "2025-11-25 10:03:20.041205", 2025-11-25 10:03:20.322833 | crc | "msg": "non-zero return code", 2025-11-25 10:03:20.322871 | crc | "rc": 1, 2025-11-25 10:03:20.322909 | crc | "start": "2025-11-25 10:03:19.977853" 2025-11-25 10:03:20.322944 | crc | } 2025-11-25 10:03:20.323014 | crc | ERROR: Ignoring Errors 2025-11-25 10:03:21.243753 | controller | ok 2025-11-25 10:03:21.268222 | 2025-11-25 10:03:21.268345 | TASK [Create compressed log tar gz file - zuul-output] 2025-11-25 10:03:21.715872 | controller | tar: Removing leading `/' from member names 2025-11-25 10:03:21.875200 | crc | tar: Removing leading `/' from member names 2025-11-25 10:03:22.472644 | crc | ok 2025-11-25 10:03:22.527065 | controller | ok 2025-11-25 10:03:22.656984 | 2025-11-25 10:03:22.657099 | PLAY RECAP 2025-11-25 10:03:22.657145 | controller | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2025-11-25 10:03:22.657174 | crc | ok: 2 changed: 0 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 1 2025-11-25 10:03:22.657194 | 2025-11-25 10:03:22.760130 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/compress-logs.yaml@master] 2025-11-25 10:03:22.769520 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup.yml@master] 2025-11-25 10:03:23.422486 | 2025-11-25 10:03:23.422599 | PLAY [Run playbooks/crc/bootstraped-ci-network-cleanup.yml] 2025-11-25 10:03:23.501442 | 2025-11-25 10:03:23.501579 | TASK [Create openstack config dir] 2025-11-25 10:03:24.128725 | controller | ok 2025-11-25 10:03:24.153139 | 2025-11-25 10:03:24.153252 | TASK [Check for cleanup skip flag file presence] 2025-11-25 10:03:24.573335 | controller | ok 2025-11-25 10:03:24.609229 | 2025-11-25 10:03:24.609369 | TASK [Generate clouds config from cloud_secrets secret] 2025-11-25 10:03:25.573110 | controller | changed 2025-11-25 10:03:25.597543 | 2025-11-25 10:03:25.597662 | LOOP [Delete ports from each host] 2025-11-25 10:03:25.748991 | controller | ok: "crc" 2025-11-25 10:03:28.708357 | controller | ok: "controller" 2025-11-25 10:03:28.773007 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup-instance-ports.yml 2025-11-25 10:03:28.777385 | controller | included: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/trusted/project_0/review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup-instance-ports.yml 2025-11-25 10:03:28.811973 | 2025-11-25 10:03:28.812087 | TASK [Fetch port info] 2025-11-25 10:03:30.864320 | controller | admin_state_up: true 2025-11-25 10:03:30.864622 | controller | allowed_address_pairs: [] 2025-11-25 10:03:30.864834 | controller | binding_host_id: null 2025-11-25 10:03:30.864966 | controller | binding_profile: {} 2025-11-25 10:03:30.865099 | controller | binding_vif_details: {} 2025-11-25 10:03:30.865232 | controller | binding_vif_type: null 2025-11-25 10:03:30.865392 | controller | binding_vnic_type: normal 2025-11-25 10:03:30.865547 | controller | created_at: '2025-11-25T09:25:41Z' 2025-11-25 10:03:30.865707 | controller | data_plane_status: null 2025-11-25 10:03:30.865833 | controller | description: '' 2025-11-25 10:03:30.865978 | controller | device_id: 19343fc1-91cb-4eae-8f56-eacf25f0be5a 2025-11-25 10:03:30.866103 | controller | device_owner: compute:nova 2025-11-25 10:03:30.866225 | controller | device_profile: null 2025-11-25 10:03:30.866557 | controller | dns_assignment: 2025-11-25 10:03:30.866700 | controller | - fqdn: host-192-168-122-10.openstacklocal. 2025-11-25 10:03:30.866714 | controller | hostname: host-192-168-122-10 2025-11-25 10:03:30.866724 | controller | ip_address: 192.168.122.10 2025-11-25 10:03:30.866733 | controller | dns_domain: '' 2025-11-25 10:03:30.866850 | controller | dns_name: '' 2025-11-25 10:03:30.866971 | controller | extra_dhcp_opts: [] 2025-11-25 10:03:30.867230 | controller | fixed_ips: 2025-11-25 10:03:30.867359 | controller | - ip_address: 192.168.122.10 2025-11-25 10:03:30.867370 | controller | subnet_id: cdce5646-f78f-4ff8-ab85-95eb85ee535d 2025-11-25 10:03:30.867379 | controller | hardware_offload_type: null 2025-11-25 10:03:30.867515 | controller | hints: '' 2025-11-25 10:03:30.867673 | controller | id: 18fbef7c-df0a-4312-b1b3-6a22e1b2a3cd 2025-11-25 10:03:30.867804 | controller | ip_allocation: immediate 2025-11-25 10:03:30.867934 | controller | mac_address: fa:16:3e:0b:9e:d8 2025-11-25 10:03:30.868075 | controller | name: crc-19343fc1-91cb-4eae-8f56-eacf25f0be5a 2025-11-25 10:03:30.868222 | controller | network_id: eeb24873-d42e-4b66-8f14-6d47b7301745 2025-11-25 10:03:30.868350 | controller | numa_affinity_policy: null 2025-11-25 10:03:30.868512 | controller | port_security_enabled: false 2025-11-25 10:03:30.868676 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 10:03:30.868812 | controller | propagate_uplink_status: null 2025-11-25 10:03:30.868936 | controller | resource_request: null 2025-11-25 10:03:30.869092 | controller | revision_number: 4 2025-11-25 10:03:30.869220 | controller | qos_network_policy_id: null 2025-11-25 10:03:30.869342 | controller | qos_policy_id: null 2025-11-25 10:03:30.869464 | controller | security_group_ids: [] 2025-11-25 10:03:30.869582 | controller | status: ACTIVE 2025-11-25 10:03:30.869722 | controller | tags: [] 2025-11-25 10:03:30.869851 | controller | trunk_details: null 2025-11-25 10:03:30.869968 | controller | trusted: null 2025-11-25 10:03:30.870105 | controller | updated_at: '2025-11-25T09:25:54Z' 2025-11-25 10:03:31.467234 | controller | changed 2025-11-25 10:03:31.521005 | 2025-11-25 10:03:31.521123 | TASK [Set port info yaml for further usage] 2025-11-25 10:03:31.659368 | controller | ok 2025-11-25 10:03:31.688413 | 2025-11-25 10:03:31.688490 | TASK [Detach port] 2025-11-25 10:03:34.848764 | controller | changed 2025-11-25 10:03:34.950711 | 2025-11-25 10:03:34.950937 | LOOP [Delete port association with trunk network] 2025-11-25 10:03:35.052654 | 2025-11-25 10:03:35.052923 | LOOP [Delete trunk sub ports (tagged ones)] 2025-11-25 10:03:35.172719 | 2025-11-25 10:03:35.173012 | TASK [Delete the trunk network itself] 2025-11-25 10:03:35.848529 | controller | skipping: Conditional result was False 2025-11-25 10:03:35.905174 | 2025-11-25 10:03:35.905302 | TASK [Remove the parent/trunk port itself] 2025-11-25 10:03:48.602766 | controller | changed 2025-11-25 10:03:48.647970 | 2025-11-25 10:03:48.648118 | TASK [Fetch port info] 2025-11-25 10:04:00.576615 | controller | admin_state_up: true 2025-11-25 10:04:00.576753 | controller | allowed_address_pairs: [] 2025-11-25 10:04:00.576978 | controller | binding_host_id: null 2025-11-25 10:04:00.577131 | controller | binding_profile: {} 2025-11-25 10:04:00.577275 | controller | binding_vif_details: {} 2025-11-25 10:04:00.577427 | controller | binding_vif_type: null 2025-11-25 10:04:00.577618 | controller | binding_vnic_type: normal 2025-11-25 10:04:00.577794 | controller | created_at: '2025-11-25T09:25:23Z' 2025-11-25 10:04:00.577937 | controller | data_plane_status: null 2025-11-25 10:04:00.578071 | controller | description: '' 2025-11-25 10:04:00.578238 | controller | device_id: 8570a09d-8f3c-4946-abb3-22b0f83028a9 2025-11-25 10:04:00.578386 | controller | device_owner: compute:nova 2025-11-25 10:04:00.578524 | controller | device_profile: null 2025-11-25 10:04:00.578990 | controller | dns_assignment: 2025-11-25 10:04:00.579117 | controller | - fqdn: host-192-168-122-11.openstacklocal. 2025-11-25 10:04:00.579127 | controller | hostname: host-192-168-122-11 2025-11-25 10:04:00.579135 | controller | ip_address: 192.168.122.11 2025-11-25 10:04:00.579145 | controller | dns_domain: '' 2025-11-25 10:04:00.579247 | controller | dns_name: '' 2025-11-25 10:04:00.579391 | controller | extra_dhcp_opts: [] 2025-11-25 10:04:00.579751 | controller | fixed_ips: 2025-11-25 10:04:00.579900 | controller | - ip_address: 192.168.122.11 2025-11-25 10:04:00.579910 | controller | subnet_id: cdce5646-f78f-4ff8-ab85-95eb85ee535d 2025-11-25 10:04:00.579920 | controller | hardware_offload_type: null 2025-11-25 10:04:00.580026 | controller | hints: '' 2025-11-25 10:04:00.580190 | controller | id: 27c9ac90-cca9-404a-8176-806f9c37725d 2025-11-25 10:04:00.580357 | controller | ip_allocation: immediate 2025-11-25 10:04:00.580498 | controller | mac_address: fa:16:3e:0b:8a:75 2025-11-25 10:04:00.580830 | controller | name: controller-8570a09d-8f3c-4946-abb3-22b0f83028a9 2025-11-25 10:04:00.581005 | controller | network_id: eeb24873-d42e-4b66-8f14-6d47b7301745 2025-11-25 10:04:00.581150 | controller | numa_affinity_policy: null 2025-11-25 10:04:00.581347 | controller | port_security_enabled: false 2025-11-25 10:04:00.581519 | controller | project_id: 4b633c451ac74233be3721a3635275e5 2025-11-25 10:04:00.581682 | controller | propagate_uplink_status: null 2025-11-25 10:04:00.581816 | controller | resource_request: null 2025-11-25 10:04:00.581992 | controller | revision_number: 4 2025-11-25 10:04:00.582136 | controller | qos_network_policy_id: null 2025-11-25 10:04:00.582272 | controller | qos_policy_id: null 2025-11-25 10:04:00.582412 | controller | security_group_ids: [] 2025-11-25 10:04:00.582543 | controller | status: ACTIVE 2025-11-25 10:04:00.582687 | controller | tags: [] 2025-11-25 10:04:00.582823 | controller | trunk_details: null 2025-11-25 10:04:00.582953 | controller | trusted: null 2025-11-25 10:04:00.583112 | controller | updated_at: '2025-11-25T09:25:35Z' 2025-11-25 10:04:00.868051 | controller | changed 2025-11-25 10:04:00.919958 | 2025-11-25 10:04:00.920102 | TASK [Set port info yaml for further usage] 2025-11-25 10:04:01.121201 | controller | ok 2025-11-25 10:04:01.148198 | 2025-11-25 10:04:01.148502 | TASK [Detach port] 2025-11-25 10:04:19.057945 | controller | changed 2025-11-25 10:04:19.093261 | 2025-11-25 10:04:19.093473 | LOOP [Delete port association with trunk network] 2025-11-25 10:04:19.212612 | 2025-11-25 10:04:19.212943 | LOOP [Delete trunk sub ports (tagged ones)] 2025-11-25 10:04:19.380073 | 2025-11-25 10:04:19.380321 | TASK [Delete the trunk network itself] 2025-11-25 10:04:20.010768 | controller | skipping: Conditional result was False 2025-11-25 10:04:20.067711 | 2025-11-25 10:04:20.067901 | TASK [Remove the parent/trunk port itself] 2025-11-25 10:04:33.294973 | controller | changed 2025-11-25 10:04:33.350091 | 2025-11-25 10:04:33.350229 | TASK [Dettach router from subnet] 2025-11-25 10:04:34.027946 | controller | skipping: Conditional result was False 2025-11-25 10:04:34.084900 | 2025-11-25 10:04:34.085071 | TASK [Delete router] 2025-11-25 10:04:34.775442 | controller | skipping: Conditional result was False 2025-11-25 10:04:34.831948 | 2025-11-25 10:04:34.832109 | TASK [Delete subnet] 2025-11-25 10:04:48.011673 | controller | changed 2025-11-25 10:04:48.065393 | 2025-11-25 10:04:48.065539 | TASK [Delete network] 2025-11-25 10:05:02.250944 | controller | changed 2025-11-25 10:05:02.309309 | 2025-11-25 10:05:02.309512 | TASK [Remove clouds.yml secret] 2025-11-25 10:05:02.707652 | controller | changed 2025-11-25 10:05:02.807140 | 2025-11-25 10:05:02.807241 | PLAY RECAP 2025-11-25 10:05:02.807283 | controller | ok: 16 changed: 10 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2025-11-25 10:05:02.807305 | 2025-11-25 10:05:02.913868 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/crc/bootstraped-ci-network-cleanup.yml@master] 2025-11-25 10:05:02.917896 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml@master] 2025-11-25 10:05:03.515432 | 2025-11-25 10:05:03.515592 | PLAY [Report DLRN results after job run] 2025-11-25 10:05:03.600572 | 2025-11-25 10:05:03.600734 | TASK [Report job status to DLRN] 2025-11-25 10:05:03.669858 | controller | ok 2025-11-25 10:05:03.733440 | 2025-11-25 10:05:03.733568 | TASK [dlrn_report : Warning if DLRN is not running] 2025-11-25 10:05:03.808774 | controller | skipping: Conditional result was False 2025-11-25 10:05:03.836540 | 2025-11-25 10:05:03.836701 | TASK [dlrn_report : Install dlrnapi-client shyaml package] 2025-11-25 10:05:03.892761 | controller | skipping: Conditional result was False 2025-11-25 10:05:03.924136 | 2025-11-25 10:05:03.924241 | TASK [dlrn_report : Install kinit related package] 2025-11-25 10:05:03.980221 | controller | skipping: Conditional result was False 2025-11-25 10:05:04.009202 | 2025-11-25 10:05:04.009300 | TASK [dlrn_report : Install dlrn kerberos related packages] 2025-11-25 10:05:04.054419 | controller | skipping: Conditional result was False 2025-11-25 10:05:04.082239 | 2025-11-25 10:05:04.082351 | TASK [Set zuul-log-path fact] 2025-11-25 10:05:04.178078 | controller | skipping: Conditional result was False 2025-11-25 10:05:04.250028 | 2025-11-25 10:05:04.250172 | TASK [dlrn_report : Set the the value of cifmw_repo_setup_promotion when multiple dlrn tags are used] 2025-11-25 10:05:04.315285 | controller | skipping: Conditional result was False 2025-11-25 10:05:04.348817 | 2025-11-25 10:05:04.349112 | TASK [Get hash related data from repo_setup role] 2025-11-25 10:05:04.416243 | controller | skipping: Conditional result was False 2025-11-25 10:05:04.449389 | 2025-11-25 10:05:04.449519 | TASK [dlrn_report : Perform kinit for DLRN kerberos authentication] 2025-11-25 10:05:05.123429 | controller | skipping: Conditional result was False 2025-11-25 10:05:05.184343 | 2025-11-25 10:05:05.184569 | TASK [dlrn_report : Set empty value for dlrnapi password] 2025-11-25 10:05:05.263407 | controller | skipping: Conditional result was False 2025-11-25 10:05:05.317651 | 2025-11-25 10:05:05.317835 | TASK [dlrn_report : Report results to dlrn for the tested hash] 2025-11-25 10:05:05.985496 | controller | skipping: Conditional result was False 2025-11-25 10:05:06.190062 | 2025-11-25 10:05:06.190176 | PLAY RECAP 2025-11-25 10:05:06.190228 | controller | ok: 0 changed: 0 unreachable: 0 failed: 0 skipped: 10 rescued: 0 ignored: 0 2025-11-25 10:05:06.190258 | 2025-11-25 10:05:06.307314 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml@master] 2025-11-25 10:05:06.311258 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml@master] 2025-11-25 10:05:06.939369 | 2025-11-25 10:05:06.939480 | PLAY [all] 2025-11-25 10:05:07.031828 | 2025-11-25 10:05:07.031966 | TASK [include_role : fetch-output] 2025-11-25 10:05:07.128021 | controller | ok 2025-11-25 10:05:07.134424 | crc | ok 2025-11-25 10:05:07.194758 | 2025-11-25 10:05:07.194872 | TASK [fetch-output : Set log path for multiple nodes] 2025-11-25 10:05:07.308576 | controller | ok 2025-11-25 10:05:07.317766 | crc | ok 2025-11-25 10:05:07.342136 | 2025-11-25 10:05:07.342202 | TASK [fetch-output : Set log path for single node] 2025-11-25 10:05:07.390813 | controller | skipping: Conditional result was False 2025-11-25 10:05:07.401778 | crc | skipping: Conditional result was False 2025-11-25 10:05:07.462619 | 2025-11-25 10:05:07.462771 | LOOP [fetch-output : Ensure local output dirs] 2025-11-25 10:05:07.822337 | controller -> localhost | ok: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/logs/controller" 2025-11-25 10:05:07.831407 | crc -> localhost | changed: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/logs/crc" 2025-11-25 10:05:08.034633 | controller -> localhost | ok: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/artifacts" 2025-11-25 10:05:08.052534 | crc -> localhost | ok: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/artifacts" 2025-11-25 10:05:08.248464 | controller -> localhost | ok: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/docs" 2025-11-25 10:05:08.282573 | crc -> localhost | ok: "/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/docs" 2025-11-25 10:05:08.282740 | crc -> localhost | ok: All items complete 2025-11-25 10:05:08.282771 | 2025-11-25 10:05:08.321078 | 2025-11-25 10:05:08.321210 | LOOP [fetch-output : Collect logs, artifacts and docs] 2025-11-25 10:05:09.073113 | controller | changed: 2025-11-25 10:05:09.073347 | controller | .d..t...... ./ 2025-11-25 10:05:09.073377 | controller | >f+++++++++ zuul-output-controller-all-logs.tar.gz 2025-11-25 10:05:09.194432 | crc | changed: 2025-11-25 10:05:09.194541 | crc | .d..t...... ./ 2025-11-25 10:05:09.194568 | crc | >f+++++++++ crc-cloud-workdir-crc-all-logs.tar.gz 2025-11-25 10:05:09.194589 | crc | >f+++++++++ kubelet.log 2025-11-25 10:05:09.194608 | crc | >f+++++++++ zuul-output-crc-all-logs.tar.gz 2025-11-25 10:05:09.194629 | crc | cd+++++++++ crc-cloud/ 2025-11-25 10:05:09.644640 | controller | ok 2025-11-25 10:05:09.674065 | crc | ok 2025-11-25 10:05:10.133601 | controller | ok 2025-11-25 10:05:10.242633 | crc | ok 2025-11-25 10:05:10.243006 | crc | changed: All items complete 2025-11-25 10:05:10.243082 | 2025-11-25 10:05:10.386001 | 2025-11-25 10:05:10.386202 | TASK [include_role : fetch-output-openshift] 2025-11-25 10:05:10.415714 | controller | skipping: Conditional result was False 2025-11-25 10:05:10.426730 | crc | skipping: Conditional result was False 2025-11-25 10:05:10.456321 | 2025-11-25 10:05:10.456458 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2025-11-25 10:05:10.962663 | controller -> localhost | ok: Item: artifacts Runtime: 0:00:00.014458 2025-11-25 10:05:11.266010 | controller -> localhost | ok: Item: docs Runtime: 0:00:00.013465 2025-11-25 10:05:11.518306 | 2025-11-25 10:05:11.518425 | PLAY [all] 2025-11-25 10:05:11.608881 | 2025-11-25 10:05:11.609032 | TASK [remove-build-sshkey : Remove the build SSH key from all nodes] 2025-11-25 10:05:12.330449 | controller | changed 2025-11-25 10:05:12.419371 | crc | changed 2025-11-25 10:05:12.628977 | 2025-11-25 10:05:12.629079 | PLAY RECAP 2025-11-25 10:05:12.629123 | controller | ok: 5 changed: 3 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-11-25 10:05:12.629148 | crc | ok: 4 changed: 3 unreachable: 0 failed: 0 skipped: 2 rescued: 0 ignored: 0 2025-11-25 10:05:12.629166 | 2025-11-25 10:05:12.727025 | POST-RUN END RESULT_NORMAL: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml@master] 2025-11-25 10:05:12.731126 | POST-RUN START: [trusted : review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml@master] 2025-11-25 10:05:13.433893 | 2025-11-25 10:05:13.434092 | PLAY [localhost] 2025-11-25 10:05:13.453618 | 2025-11-25 10:05:13.453774 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2025-11-25 10:05:13.988081 | localhost | changed 2025-11-25 10:05:14.007354 | 2025-11-25 10:05:14.007534 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2025-11-25 10:05:14.047513 | localhost | ok 2025-11-25 10:05:14.055824 | 2025-11-25 10:05:14.055891 | TASK [add-fileserver : Create SSH private key tempfile] 2025-11-25 10:05:14.491628 | localhost | changed 2025-11-25 10:05:14.497111 | 2025-11-25 10:05:14.497189 | TASK [add-fileserver : Create SSH private key from secret] 2025-11-25 10:05:15.299945 | localhost | changed 2025-11-25 10:05:15.306133 | 2025-11-25 10:05:15.306212 | TASK [add-fileserver : Add fileserver ssh key] 2025-11-25 10:05:15.714100 | localhost | Identity added: /var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/tmp/ansible.6s_o343f (/var/lib/zuul/builds/29ad8b04723841fbba74a0d4d232a6b9/work/tmp/ansible.6s_o343f) 2025-11-25 10:05:15.714268 | localhost | ok: Runtime: 0:00:00.006697 2025-11-25 10:05:15.718503 | 2025-11-25 10:05:15.718564 | TASK [add-fileserver : Remove SSH private key from disk] 2025-11-25 10:05:16.067699 | localhost | ok: Runtime: 0:00:00.009662 2025-11-25 10:05:16.073512 | 2025-11-25 10:05:16.073619 | TASK [add-fileserver : Add fileserver to inventory] 2025-11-25 10:05:16.123736 | localhost | changed 2025-11-25 10:05:16.128422 | 2025-11-25 10:05:16.128490 | TASK [add-fileserver : Add fileserver server to known hosts] 2025-11-25 10:05:16.593539 | localhost | changed 2025-11-25 10:05:16.637016 | 2025-11-25 10:05:16.637114 | PLAY [localhost] 2025-11-25 10:05:16.648603 | 2025-11-25 10:05:16.648662 | TASK [Generate bulk log download script] 2025-11-25 10:05:16.666899 | localhost | ok 2025-11-25 10:05:16.679778 | 2025-11-25 10:05:16.679879 | TASK [local-log-download : Check API endpoint is defined] 2025-11-25 10:05:16.728342 | localhost | ok: All assertions passed 2025-11-25 10:05:16.734264 | 2025-11-25 10:05:16.734349 | TASK [local-log-download : Create download script] 2025-11-25 10:05:17.249195 | localhost -> localhost | changed 2025-11-25 10:05:17.257911 | 2025-11-25 10:05:17.257978 | TASK [Register quick-download link] 2025-11-25 10:05:17.288090 | localhost | ok 2025-11-25 10:05:17.309839 | 2025-11-25 10:05:17.309934 | PLAY [logserver.rdoproject.org] 2025-11-25 10:05:17.323522 | 2025-11-25 10:05:17.323631 | TASK [Set zuul-log-path fact] 2025-11-25 10:05:17.343374 | logserver.rdoproject.org | ok 2025-11-25 10:05:17.355924 | 2025-11-25 10:05:17.356014 | TASK [set-zuul-log-path-fact : Set log path for a build] 2025-11-25 10:05:17.394773 | logserver.rdoproject.org | ok 2025-11-25 10:05:17.402545 | 2025-11-25 10:05:17.402638 | TASK [upload-logs : Create log directories] 2025-11-25 10:05:18.131860 | logserver.rdoproject.org | changed 2025-11-25 10:05:18.139592 | 2025-11-25 10:05:18.139773 | TASK [upload-logs : Ensure logs are readable before uploading] 2025-11-25 10:05:18.461875 | logserver.rdoproject.org -> localhost | ok: Runtime: 0:00:00.029768 2025-11-25 10:05:18.469447 | 2025-11-25 10:05:18.469624 | TASK [upload-logs : Upload logs to log server] 2025-11-25 10:05:19.819422 | logserver.rdoproject.org | Output suppressed because no_log was given 2025-11-25 10:05:19.825614 | 2025-11-25 10:05:19.825805 | LOOP [upload-logs : Compress console log and json output] 2025-11-25 10:05:19.895782 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 10:05:19.908830 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 10:05:19.922911 | 2025-11-25 10:05:19.923105 | LOOP [upload-logs : Upload compressed console log and json output] 2025-11-25 10:05:19.974087 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 10:05:19.974512 | 2025-11-25 10:05:19.977430 | logserver.rdoproject.org | skipping: Conditional result was False 2025-11-25 10:05:19.988669 | 2025-11-25 10:05:19.988900 | LOOP [upload-logs : Upload console log and json output]